blob: 47dcfc94b04300d4b761bbb581ba503c110be2af [file] [log] [blame]
刘嘉昕f28ea232025-04-15 16:55:43 +08001package com.pt5.pthouduan.mapper;
2
刘嘉昕6edc9c62025-06-06 17:25:50 +08003import com.baomidou.mybatisplus.core.mapper.BaseMapper;
刘嘉昕88d3f7d2025-06-04 11:54:09 +08004import com.pt5.pthouduan.entity.PeerInfo;
刘嘉昕f28ea232025-04-15 16:55:43 +08005import com.pt5.pthouduan.entity.User;
Sure2338188c5d2025-05-28 11:43:06 +08006import org.apache.ibatis.annotations.*;
7import org.springframework.stereotype.Repository;
刘嘉昕f28ea232025-04-15 16:55:43 +08008
刘嘉昕88d3f7d2025-06-04 11:54:09 +08009import java.util.List;
刘嘉昕6edc9c62025-06-06 17:25:50 +080010import java.util.Map;
Sure2338188c5d2025-05-28 11:43:06 +080011
刘嘉昕88d3f7d2025-06-04 11:54:09 +080012/**
13 * <p>
14 * Mapper 接口
15 * </p>
16 *
17 * @author ljx
18 * @since 2025-04-14
19 */
Sure2338188c5d2025-05-28 11:43:06 +080020@Repository
刘嘉昕f28ea232025-04-15 16:55:43 +080021public interface UserMapper extends BaseMapper<User> {
Sure2338188c5d2025-05-28 11:43:06 +080022 @Insert("INSERT INTO user(username, password, email, passkey) VALUES(#{username}, #{password}, #{email}, #{passkey})")
23 int insert(User user);
刘嘉昕f28ea232025-04-15 16:55:43 +080024
Sure2338188c5d2025-05-28 11:43:06 +080025 @Select("SELECT * FROM User WHERE username = #{username}")
26 User selectByUsername(String username);
27
28 @Select("SELECT * FROM User WHERE email = #{email}")
29 User selectByEmail(String email);
30
刘嘉昕88d3f7d2025-06-04 11:54:09 +080031 @Select("SELECT credit FROM User WHERE username = #{username}")
32 int getcreditByUsername(String username);
33
刘嘉昕6edc9c62025-06-06 17:25:50 +080034 @Select("SELECT passkey FROM user WHERE userid = #{userid}")
35 String selectPasskeyByUserid(Long userid);
36
37 @Select("SELECT permission FROM user WHERE userid = #{userid}")
38 int getpermissionByUserid(Long userid);
39
40 @Select("SELECT username FROM user WHERE userid = #{userid}")
41 String selectUsernameByUserid(Long userid);
42
43 @Select("SELECT userid FROM user WHERE username = #{username}")
44 String selectUseridByusername(String username);
45
刘嘉昕88d3f7d2025-06-04 11:54:09 +080046 @Update("UPDATE user SET credit = credit - #{price} WHERE username = #{username}")
47 int deductCreditByUsername(@Param("username") String username, @Param("price") int price);
48
刘嘉昕6edc9c62025-06-06 17:25:50 +080049 @Update("UPDATE user SET credit = credit + #{price} WHERE username = #{username}")
50 int addCreditByUsername(@Param("username") String username, @Param("price") int price);
51
刘嘉昕88d3f7d2025-06-04 11:54:09 +080052 @Update("UPDATE user SET upload = upload + #{upload} WHERE username = #{username}")
53 int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload);
54
Sure2338188c5d2025-05-28 11:43:06 +080055 @Update("UPDATE user SET password = #{password} WHERE username = #{username}")
56 int updatePassword(@Param("username") String username, @Param("password") String password);
57
58 @Update("UPDATE user SET sex = #{sex} WHERE username = #{username}")
59 int updatesex(@Param("username") String username, @Param("sex") String sex);
60
61 @Update("UPDATE user SET image = #{image} WHERE username = #{username}")
62 int updateimage(@Param("username") String username, @Param("image") String image);
63
刘嘉昕6edc9c62025-06-06 17:25:50 +080064 @Update("UPDATE user SET grade_id = #{gradeId} WHERE username = #{username}")
Sure2338188c5d2025-05-28 11:43:06 +080065 int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId);
刘嘉昕88d3f7d2025-06-04 11:54:09 +080066
67 @Update("UPDATE user SET decoration = CONCAT(IFNULL(decoration, ''), ' ', #{newDecoration}) WHERE username = #{username}")
68 int appendUserDecoration(@Param("username") String username, @Param("newDecoration") String newDecoration);
69
刘嘉昕6edc9c62025-06-06 17:25:50 +080070 @Delete("DELETE FROM user WHERE username = #{username})")
71 int deleteByUsername(@Param("username") String username);
72
73 @Select("SELECT username, passkey, grade_id FROM user")
74 List<Map<String, Object>> selectAllUsersBasicInfo();
75
76 @Select("SELECT * FROM user")
77 List<Map<String, Object>> selectAllUsers();
78
79 @Select("SELECT * FROM user WHERE username REGEXP #{regexPattern}")
80 List<Map<String, Object>> selectUserByFuzzyKeyword(@Param("regexPattern") String regexPattern);
81
刘嘉昕88d3f7d2025-06-04 11:54:09 +080082 boolean existsByPasskey(String passkey);
刘嘉昕6edc9c62025-06-06 17:25:50 +080083
刘嘉昕88d3f7d2025-06-04 11:54:09 +080084 void incrementUserTraffic( @Param("info_hash") String infoHash,@Param("passkey") String passkey, @Param("user_upload") long uploaded, @Param("user_download") long downloaded);
85
86 String getUsernameByPasskey(String passkey);
87
88 List<PeerInfo> findSeedersByInfoHash(@Param("infoHash") String infoHash);
刘嘉昕f28ea232025-04-15 16:55:43 +080089}