blob: 8d0301aaf005b902fb8a15af44583c3e43faa747 [file] [log] [blame]
package com.pt5.pthouduan.mapper;
import com.pt5.pthouduan.entity.PeerInfo;
import com.pt5.pthouduan.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.type.JdbcType;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ljx
* @since 2025-04-14
*/
@Repository
public interface UserMapper extends BaseMapper<User> {
@Insert("INSERT INTO user(username, password, email, passkey) VALUES(#{username}, #{password}, #{email}, #{passkey})")
int insert(User user);
@Delete("DELETE FROM user WHERE username = #{username})")
int deleteByUsername(@Param("username") String username);
@Select("SELECT * FROM user WHERE username = #{username}")
Map<String, Object> selectByUsername(String username);
@Select("SELECT username FROM user WHERE email = #{email}")
String selectByEmail(String email);
@Select("SELECT credit FROM user WHERE username = #{username}")
int getcreditByUsername(String username);
@Update("UPDATE user SET credit = credit - #{price} WHERE username = #{username}")
int deductCreditByUsername(@Param("username") String username, @Param("price") int price);
@Update("UPDATE user SET user_upload = user_upload + #{upload} WHERE username = #{username}")
int increaseUploadByUsername(@Param("username") String username, @Param("upload") Integer upload);
@Update("UPDATE user SET password = #{password} WHERE username = #{username}")
int updatePassword(@Param("username") String username, @Param("password") String password);
@Update("UPDATE user SET sex = #{sex} WHERE username = #{username}")
int updatesex(@Param("username") String username, @Param("sex") String sex);
@Update("UPDATE user SET image = #{image} WHERE username = #{username}")
int updateimage(@Param("username") String username, @Param("image") String image);
@Update("UPDATE user SET grade_id = #{gradeId} WHERE username = #{username}")
int updateGrade(@Param("username") String username, @Param("gradeId") Integer gradeId);
@Update("UPDATE user SET decoration = CONCAT(IFNULL(decoration, ''), ' ', #{newDecoration}) WHERE username = #{username}")
int appendUserDecoration(@Param("username") String username, @Param("newDecoration") String newDecoration);
boolean existsByPasskey(String passkey);
void incrementUserTraffic( @Param("info_hash") String infoHash,@Param("passkey") String passkey, @Param("user_upload") long uploaded, @Param("user_download") long downloaded);
String getUsernameByPasskey(String passkey);
List<PeerInfo> findSeedersByInfoHash(@Param("infoHash") String infoHash);
@Select("SELECT passkey FROM user WHERE userid = #{userid}")
String selectPasskeyByUserid(Long userid);
@Select("SELECT username, passkey, grade_id FROM user")
List<Map<String, Object>> selectAllUsersBasicInfo();
@Select("SELECT username FROM user WHERE userid = #{userid}")
String selectUsernameByUserid(Long userid);
@Select("SELECT image,decoration,username,grade_id FROM user WHERE userid = #{userid}")
Map<String, Object> selectdecorationByUserid(Long userid);
@Select("SELECT userid FROM user WHERE username = #{username}")
String selectUseridByusername(String username);
@Select("SELECT * FROM user")
List<Map<String, Object>> selectAllUsers();
@Select("SELECT * FROM user WHERE username REGEXP #{regexPattern}")
List<Map<String, Object>> selectUserByFuzzyKeyword(@Param("regexPattern") String regexPattern);
@Update("UPDATE user SET credit = credit + #{price} WHERE username = #{username}")
int addCreditByUsername(@Param("username") String username, @Param("price") int price);
@Select("SELECT permission FROM user WHERE userid = #{userid}")
int getpermissionByUserid(Long userid);
}