刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 1 | package com.pt5.pthouduan.mapper; |
| 2 | |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 3 | import com.pt5.pthouduan.entity.PeerInfo; |
刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 4 | import com.pt5.pthouduan.entity.User; |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 6 | import org.apache.ibatis.annotations.*; |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 7 | import org.apache.ibatis.type.JdbcType; |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 8 | import org.springframework.stereotype.Repository; |
刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 9 | |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 10 | import java.util.List; |
刘嘉昕 | 6edc9c6 | 2025-06-06 17:25:50 +0800 | [diff] [blame] | 11 | import java.util.Map; |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 12 | |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 13 | /** |
| 14 | * <p> |
| 15 | * Mapper 接口 |
| 16 | * </p> |
| 17 | * |
| 18 | * @author ljx |
| 19 | * @since 2025-04-14 |
| 20 | */ |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 21 | @Repository |
刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 22 | public interface UserMapper extends BaseMapper<User> { |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 23 | @Insert("INSERT INTO user(username, password, email, passkey) VALUES(#{username}, #{password}, #{email}, #{passkey})") |
| 24 | int insert(User user); |
刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 25 | |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 26 | @Delete("DELETE FROM user WHERE username = #{username})") |
21301050 | c519f71 | 2025-06-04 17:03:04 +0800 | [diff] [blame] | 27 | int deleteByUsername(@Param("username") String username); |
| 28 | |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 29 | @Select("SELECT * FROM user WHERE username = #{username}") |
| 30 | Map<String, Object> selectByUsername(String username); |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 31 | |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 32 | @Select("SELECT username FROM user WHERE email = #{email}") |
| 33 | String selectByEmail(String email); |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 34 | |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 35 | @Select("SELECT credit FROM user WHERE username = #{username}") |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 36 | 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 | |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 41 | @Update("UPDATE user SET user_upload = user_upload + #{upload} WHERE username = #{username}") |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 42 | int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload); |
| 43 | |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 44 | @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 | |
刘嘉昕 | 6edc9c6 | 2025-06-06 17:25:50 +0800 | [diff] [blame] | 53 | @Update("UPDATE user SET grade_id = #{gradeId} WHERE username = #{username}") |
Sure233 | 8188c5d | 2025-05-28 11:43:06 +0800 | [diff] [blame] | 54 | int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId); |
刘嘉昕 | 88d3f7d | 2025-06-04 11:54:09 +0800 | [diff] [blame] | 55 | |
| 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); |
21301050 | c519f71 | 2025-06-04 17:03:04 +0800 | [diff] [blame] | 65 | |
| 66 | @Select("SELECT passkey FROM user WHERE userid = #{userid}") |
| 67 | String selectPasskeyByUserid(Long userid); |
21301050 | e4db6a9 | 2025-06-08 23:42:43 +0800 | [diff] [blame] | 68 | |
| 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 | |
刘嘉昕 | f28ea23 | 2025-04-15 16:55:43 +0800 | [diff] [blame] | 93 | } |