upload功能
Change-Id: Iad725ce3e2edd913531bf11705bf51000dde010d
diff --git a/src/main/java/com/pt5/pthouduan/mapper/TorrentMapper.java b/src/main/java/com/pt5/pthouduan/mapper/TorrentMapper.java
index 9c7b608..e7ba2a3 100644
--- a/src/main/java/com/pt5/pthouduan/mapper/TorrentMapper.java
+++ b/src/main/java/com/pt5/pthouduan/mapper/TorrentMapper.java
@@ -3,6 +3,11 @@
import com.pt5.pthouduan.entity.Torrent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -14,5 +19,23 @@
*/
@Mapper
public interface TorrentMapper extends BaseMapper<Torrent> {
+ // 仅保留方法声明,移除所有SQL注解
+ List<Torrent> selectByUploaderId(@Param("uploaderId") Long uploaderId);
+ List<Torrent> searchByName(@Param("keyword") String keyword);
+ List<Torrent> selectTopPopular();
+ List<Torrent> getAllTorrents();
+ Integer existsByInfoHash(@Param("infoHash") String infoHash);
+ void incrementDownloadCount(@Param("id") Long id);
+ void save(Torrent entity);
+ List<Torrent> selectTorrentsByCategory(Integer category);
+ Torrent selectById(@Param("torrentid") Long id);
+ List<Torrent> searchByKeyword(String keyword);
+ void setFreePromotion(); // 免费下载
+ void setDoubleUpload(); // 上传加倍
+ void setHalfDownload(); // 下载减半
+ void clearPromotion(); // 恢复促销
+ Torrent selectByinfohash(@Param("infohash") String infohash);
+
+ List<Torrent> listByCategoryWithFilters(Integer categoryid, Map<String, String> filters, String extendTable);
}
diff --git a/src/main/java/com/pt5/pthouduan/mapper/UserMapper.java b/src/main/java/com/pt5/pthouduan/mapper/UserMapper.java
index 89c37ab..2f96180 100644
--- a/src/main/java/com/pt5/pthouduan/mapper/UserMapper.java
+++ b/src/main/java/com/pt5/pthouduan/mapper/UserMapper.java
@@ -1,11 +1,21 @@
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.springframework.stereotype.Repository;
+import java.util.List;
+/**
+ * <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})")
@@ -17,6 +27,15 @@
@Select("SELECT * FROM User WHERE email = #{email}")
User 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 upload = 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);
@@ -28,4 +47,14 @@
@Update("UPDATE user SET gradeId = #{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);
}