blob: ebd150fcf3a3fd341baf4d1c67255cf745b183e0 [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;
5import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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;
Sure2338188c5d2025-05-28 11:43:06 +080010
刘嘉昕88d3f7d2025-06-04 11:54:09 +080011/**
12 * <p>
13 * Mapper 接口
14 * </p>
15 *
16 * @author ljx
17 * @since 2025-04-14
18 */
Sure2338188c5d2025-05-28 11:43:06 +080019@Repository
刘嘉昕f28ea232025-04-15 16:55:43 +080020public interface UserMapper extends BaseMapper<User> {
Sure2338188c5d2025-05-28 11:43:06 +080021 @Insert("INSERT INTO user(username, password, email, passkey) VALUES(#{username}, #{password}, #{email}, #{passkey})")
22 int insert(User user);
刘嘉昕f28ea232025-04-15 16:55:43 +080023
21301050c519f712025-06-04 17:03:04 +080024 @Delete("DELETE FROM user_behavior WHERE user_id = (SELECT user_id FROM User WHERE username = #{username})")
25 int deleteByUsername(@Param("username") String username);
26
Sure2338188c5d2025-05-28 11:43:06 +080027 @Select("SELECT * FROM User WHERE username = #{username}")
28 User selectByUsername(String username);
29
30 @Select("SELECT * FROM User WHERE email = #{email}")
31 User selectByEmail(String email);
32
刘嘉昕88d3f7d2025-06-04 11:54:09 +080033 @Select("SELECT credit FROM User WHERE username = #{username}")
34 int getcreditByUsername(String username);
35
36 @Update("UPDATE user SET credit = credit - #{price} WHERE username = #{username}")
37 int deductCreditByUsername(@Param("username") String username, @Param("price") int price);
38
39 @Update("UPDATE user SET upload = upload + #{upload} WHERE username = #{username}")
40 int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload);
41
Sure2338188c5d2025-05-28 11:43:06 +080042 @Update("UPDATE user SET password = #{password} WHERE username = #{username}")
43 int updatePassword(@Param("username") String username, @Param("password") String password);
44
45 @Update("UPDATE user SET sex = #{sex} WHERE username = #{username}")
46 int updatesex(@Param("username") String username, @Param("sex") String sex);
47
48 @Update("UPDATE user SET image = #{image} WHERE username = #{username}")
49 int updateimage(@Param("username") String username, @Param("image") String image);
50
51 @Update("UPDATE user SET gradeId = #{gradeId} WHERE username = #{username}")
52 int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId);
刘嘉昕88d3f7d2025-06-04 11:54:09 +080053
54 @Update("UPDATE user SET decoration = CONCAT(IFNULL(decoration, ''), ' ', #{newDecoration}) WHERE username = #{username}")
55 int appendUserDecoration(@Param("username") String username, @Param("newDecoration") String newDecoration);
56
57 boolean existsByPasskey(String passkey);
58 void incrementUserTraffic( @Param("info_hash") String infoHash,@Param("passkey") String passkey, @Param("user_upload") long uploaded, @Param("user_download") long downloaded);
59
60 String getUsernameByPasskey(String passkey);
61
62 List<PeerInfo> findSeedersByInfoHash(@Param("infoHash") String infoHash);
21301050c519f712025-06-04 17:03:04 +080063
64 @Select("SELECT passkey FROM user WHERE userid = #{userid}")
65 String selectPasskeyByUserid(Long userid);
刘嘉昕f28ea232025-04-15 16:55:43 +080066}