blob: c3bc827ca101debb1abc256b4b9fd1cfdb0384ea [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
21301050c519f712025-06-04 17:03:04 +080025 @Delete("DELETE FROM user_behavior WHERE user_id = (SELECT user_id FROM User WHERE username = #{username})")
26 int deleteByUsername(@Param("username") String username);
27
Sure2338188c5d2025-05-28 11:43:06 +080028 @Select("SELECT * FROM User WHERE username = #{username}")
29 User selectByUsername(String username);
30
31 @Select("SELECT * FROM User WHERE email = #{email}")
32 User selectByEmail(String email);
33
刘嘉昕88d3f7d2025-06-04 11:54:09 +080034 @Select("SELECT credit FROM User WHERE username = #{username}")
35 int getcreditByUsername(String username);
36
刘嘉昕6edc9c62025-06-06 17:25:50 +080037 @Select("SELECT passkey FROM user WHERE userid = #{userid}")
38 String selectPasskeyByUserid(Long userid);
39
40 @Select("SELECT permission FROM user WHERE userid = #{userid}")
41 int getpermissionByUserid(Long userid);
42
43 @Select("SELECT username FROM user WHERE userid = #{userid}")
44 String selectUsernameByUserid(Long userid);
45
46 @Select("SELECT userid FROM user WHERE username = #{username}")
47 String selectUseridByusername(String username);
48
刘嘉昕88d3f7d2025-06-04 11:54:09 +080049 @Update("UPDATE user SET credit = credit - #{price} WHERE username = #{username}")
50 int deductCreditByUsername(@Param("username") String username, @Param("price") int price);
51
刘嘉昕6edc9c62025-06-06 17:25:50 +080052 @Update("UPDATE user SET credit = credit + #{price} WHERE username = #{username}")
53 int addCreditByUsername(@Param("username") String username, @Param("price") int price);
54
刘嘉昕88d3f7d2025-06-04 11:54:09 +080055 @Update("UPDATE user SET upload = upload + #{upload} WHERE username = #{username}")
56 int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload);
57
Sure2338188c5d2025-05-28 11:43:06 +080058 @Update("UPDATE user SET password = #{password} WHERE username = #{username}")
59 int updatePassword(@Param("username") String username, @Param("password") String password);
60
61 @Update("UPDATE user SET sex = #{sex} WHERE username = #{username}")
62 int updatesex(@Param("username") String username, @Param("sex") String sex);
63
64 @Update("UPDATE user SET image = #{image} WHERE username = #{username}")
65 int updateimage(@Param("username") String username, @Param("image") String image);
66
刘嘉昕6edc9c62025-06-06 17:25:50 +080067 @Update("UPDATE user SET grade_id = #{gradeId} WHERE username = #{username}")
Sure2338188c5d2025-05-28 11:43:06 +080068 int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId);
刘嘉昕88d3f7d2025-06-04 11:54:09 +080069
70 @Update("UPDATE user SET decoration = CONCAT(IFNULL(decoration, ''), ' ', #{newDecoration}) WHERE username = #{username}")
71 int appendUserDecoration(@Param("username") String username, @Param("newDecoration") String newDecoration);
72
刘嘉昕6edc9c62025-06-06 17:25:50 +080073 @Delete("DELETE FROM user WHERE username = #{username})")
74 int deleteByUsername(@Param("username") String username);
75
76 @Select("SELECT username, passkey, grade_id FROM user")
77 List<Map<String, Object>> selectAllUsersBasicInfo();
78
79 @Select("SELECT * FROM user")
80 List<Map<String, Object>> selectAllUsers();
81
82 @Select("SELECT * FROM user WHERE username REGEXP #{regexPattern}")
83 List<Map<String, Object>> selectUserByFuzzyKeyword(@Param("regexPattern") String regexPattern);
84
刘嘉昕88d3f7d2025-06-04 11:54:09 +080085 boolean existsByPasskey(String passkey);
刘嘉昕6edc9c62025-06-06 17:25:50 +080086
刘嘉昕88d3f7d2025-06-04 11:54:09 +080087 void incrementUserTraffic( @Param("info_hash") String infoHash,@Param("passkey") String passkey, @Param("user_upload") long uploaded, @Param("user_download") long downloaded);
88
89 String getUsernameByPasskey(String passkey);
90
91 List<PeerInfo> findSeedersByInfoHash(@Param("infoHash") String infoHash);
21301050c519f712025-06-04 17:03:04 +080092
93 @Select("SELECT passkey FROM user WHERE userid = #{userid}")
94 String selectPasskeyByUserid(Long userid);
刘嘉昕f28ea232025-04-15 16:55:43 +080095}