blob: 8d0301aaf005b902fb8a15af44583c3e43faa747 [file] [log] [blame]
刘嘉昕f28ea232025-04-15 16:55:43 +08001package com.pt5.pthouduan.mapper;
2
刘嘉昕88d3f7d2025-06-04 11:54:09 +08003import com.pt5.pthouduan.entity.PeerInfo;
刘嘉昕f28ea232025-04-15 16:55:43 +08004import com.pt5.pthouduan.entity.User;
21301050e4db6a92025-06-08 23:42:43 +08005import com.baomidou.mybatisplus.core.mapper.BaseMapper;
Sure2338188c5d2025-05-28 11:43:06 +08006import org.apache.ibatis.annotations.*;
21301050e4db6a92025-06-08 23:42:43 +08007import org.apache.ibatis.type.JdbcType;
Sure2338188c5d2025-05-28 11:43:06 +08008import org.springframework.stereotype.Repository;
刘嘉昕f28ea232025-04-15 16:55:43 +08009
刘嘉昕88d3f7d2025-06-04 11:54:09 +080010import java.util.List;
刘嘉昕6edc9c62025-06-06 17:25:50 +080011import java.util.Map;
Sure2338188c5d2025-05-28 11:43:06 +080012
刘嘉昕88d3f7d2025-06-04 11:54:09 +080013/**
14 * <p>
15 * Mapper 接口
16 * </p>
17 *
18 * @author ljx
19 * @since 2025-04-14
20 */
Sure2338188c5d2025-05-28 11:43:06 +080021@Repository
刘嘉昕f28ea232025-04-15 16:55:43 +080022public interface UserMapper extends BaseMapper<User> {
Sure2338188c5d2025-05-28 11:43:06 +080023 @Insert("INSERT INTO user(username, password, email, passkey) VALUES(#{username}, #{password}, #{email}, #{passkey})")
24 int insert(User user);
刘嘉昕f28ea232025-04-15 16:55:43 +080025
21301050e4db6a92025-06-08 23:42:43 +080026 @Delete("DELETE FROM user WHERE username = #{username})")
21301050c519f712025-06-04 17:03:04 +080027 int deleteByUsername(@Param("username") String username);
28
21301050e4db6a92025-06-08 23:42:43 +080029 @Select("SELECT * FROM user WHERE username = #{username}")
30 Map<String, Object> selectByUsername(String username);
Sure2338188c5d2025-05-28 11:43:06 +080031
21301050e4db6a92025-06-08 23:42:43 +080032 @Select("SELECT username FROM user WHERE email = #{email}")
33 String selectByEmail(String email);
Sure2338188c5d2025-05-28 11:43:06 +080034
21301050e4db6a92025-06-08 23:42:43 +080035 @Select("SELECT credit FROM user WHERE username = #{username}")
刘嘉昕88d3f7d2025-06-04 11:54:09 +080036 int getcreditByUsername(String username);
37
38 @Update("UPDATE user SET credit = credit - #{price} WHERE username = #{username}")
39 int deductCreditByUsername(@Param("username") String username, @Param("price") int price);
40
21301050e4db6a92025-06-08 23:42:43 +080041 @Update("UPDATE user SET user_upload = user_upload + #{upload} WHERE username = #{username}")
刘嘉昕88d3f7d2025-06-04 11:54:09 +080042 int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload);
43
Sure2338188c5d2025-05-28 11:43:06 +080044 @Update("UPDATE user SET password = #{password} WHERE username = #{username}")
45 int updatePassword(@Param("username") String username, @Param("password") String password);
46
47 @Update("UPDATE user SET sex = #{sex} WHERE username = #{username}")
48 int updatesex(@Param("username") String username, @Param("sex") String sex);
49
50 @Update("UPDATE user SET image = #{image} WHERE username = #{username}")
51 int updateimage(@Param("username") String username, @Param("image") String image);
52
刘嘉昕6edc9c62025-06-06 17:25:50 +080053 @Update("UPDATE user SET grade_id = #{gradeId} WHERE username = #{username}")
Sure2338188c5d2025-05-28 11:43:06 +080054 int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId);
刘嘉昕88d3f7d2025-06-04 11:54:09 +080055
56 @Update("UPDATE user SET decoration = CONCAT(IFNULL(decoration, ''), ' ', #{newDecoration}) WHERE username = #{username}")
57 int appendUserDecoration(@Param("username") String username, @Param("newDecoration") String newDecoration);
58
59 boolean existsByPasskey(String passkey);
60 void incrementUserTraffic( @Param("info_hash") String infoHash,@Param("passkey") String passkey, @Param("user_upload") long uploaded, @Param("user_download") long downloaded);
61
62 String getUsernameByPasskey(String passkey);
63
64 List<PeerInfo> findSeedersByInfoHash(@Param("infoHash") String infoHash);
21301050c519f712025-06-04 17:03:04 +080065
66 @Select("SELECT passkey FROM user WHERE userid = #{userid}")
67 String selectPasskeyByUserid(Long userid);
21301050e4db6a92025-06-08 23:42:43 +080068
69 @Select("SELECT username, passkey, grade_id FROM user")
70 List<Map<String, Object>> selectAllUsersBasicInfo();
71
72 @Select("SELECT username FROM user WHERE userid = #{userid}")
73 String selectUsernameByUserid(Long userid);
74
75 @Select("SELECT image,decoration,username,grade_id FROM user WHERE userid = #{userid}")
76 Map<String, Object> selectdecorationByUserid(Long userid);
77
78 @Select("SELECT userid FROM user WHERE username = #{username}")
79 String selectUseridByusername(String username);
80
81 @Select("SELECT * FROM user")
82 List<Map<String, Object>> selectAllUsers();
83
84 @Select("SELECT * FROM user WHERE username REGEXP #{regexPattern}")
85 List<Map<String, Object>> selectUserByFuzzyKeyword(@Param("regexPattern") String regexPattern);
86
87 @Update("UPDATE user SET credit = credit + #{price} WHERE username = #{username}")
88 int addCreditByUsername(@Param("username") String username, @Param("price") int price);
89
90 @Select("SELECT permission FROM user WHERE userid = #{userid}")
91 int getpermissionByUserid(Long userid);
92
刘嘉昕f28ea232025-04-15 16:55:43 +080093}