diff --git a/src/main/java/com/example/g8backend/controller/AuthController.java b/src/main/java/com/example/g8backend/controller/AuthController.java
index 1fdf906..b68eff8 100644
--- a/src/main/java/com/example/g8backend/controller/AuthController.java
+++ b/src/main/java/com/example/g8backend/controller/AuthController.java
@@ -61,9 +61,9 @@
             return ApiResponse.error(400, "用户名已存在");
         }
 
-        if (!redisTemplate.hasKey(registerDTO.getInvitationCode())) {
-            return ApiResponse.error(400, "邀请码错误");
-        }
+//        if (!redisTemplate.hasKey(registerDTO.getInvitationCode())) {
+//            return ApiResponse.error(400, "邀请码错误");
+//        }
 
         Object cachedCode = redisTemplate.opsForValue().get(registerDTO.getEmail());
         if (!registerDTO.getVerificationCode().equals(cachedCode)) {
diff --git a/src/main/java/com/example/g8backend/controller/TrackerController.java b/src/main/java/com/example/g8backend/controller/TrackerController.java
index 4e26abb..8776e36 100644
--- a/src/main/java/com/example/g8backend/controller/TrackerController.java
+++ b/src/main/java/com/example/g8backend/controller/TrackerController.java
@@ -3,6 +3,8 @@
 import com.example.g8backend.dto.AnnounceRequestDTO;
 import com.example.g8backend.dto.AnnounceResponseDTO;
 import jakarta.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -28,6 +30,8 @@
             @RequestParam(value = "compact", required = false) Integer compact,
             @PathVariable String passkey) {
 
+        Logger logger = LoggerFactory.getLogger(this.getClass());
+
         AnnounceRequestDTO requestDTO = new AnnounceRequestDTO();
         requestDTO.setPasskey(passkey);
         requestDTO.setInfoHash(infoHash);
@@ -39,6 +43,8 @@
         requestDTO.setLeft(left);
         requestDTO.setCompact(compact);
 
+        logger.info(requestDTO.toString());
+
         String ipAddress = request.getHeader("X-Forwarded-For");
         if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
             ipAddress = request.getHeader("Proxy-Client-IP");
diff --git a/src/main/java/com/example/g8backend/entity/User.java b/src/main/java/com/example/g8backend/entity/User.java
index aea6335..d32cab9 100644
--- a/src/main/java/com/example/g8backend/entity/User.java
+++ b/src/main/java/com/example/g8backend/entity/User.java
@@ -25,6 +25,7 @@
     private Integer signinCount;
     private LocalDate lastSigninDate;
     private String role;
+//    private String avatarUrl; // 头像 URL 或文件名
     @TableField("is_banned")
     private Boolean isBanned = false;
 
diff --git a/src/main/java/com/example/g8backend/service/impl/TorrentRecommendationServiceImpl.java b/src/main/java/com/example/g8backend/service/impl/TorrentRecommendationServiceImpl.java
index f93c2e4..7adc4c0 100644
--- a/src/main/java/com/example/g8backend/service/impl/TorrentRecommendationServiceImpl.java
+++ b/src/main/java/com/example/g8backend/service/impl/TorrentRecommendationServiceImpl.java
@@ -102,7 +102,9 @@
             int israre = (i < limit) ? 1 : 0;
 
             // 直接调用mapper更新对应torrent的israre字段
-            torrentMapper.updateIsRareByInfoHash(dto.getInfoHash(), israre);
+            int rows = torrentMapper.updateIsRareByInfoHash(dto.getInfoHash(), israre);
+            System.out.println("更新infoHash=" + dto.getInfoHash() + " 的is_rare=" + israre + ",受影响行数=" + rows);
+
         }
     }
 }
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9c851a3..7f2c5c7 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -7,8 +7,8 @@
 
 mybatis-plus.mapper-locations=classpath*:/mapper/**/*.xml
 
-#spring.data.redis.host = 127.0.0.1
-spring.data.redis.host = redis
+spring.data.redis.host = 127.0.0.1
+#spring.data.redis.host = redis
 spring.data.redis.port = 6379
 
 spring.mail.host=smtp.qq.com
diff --git a/src/main/resources/mapper/PeerMapper.xml b/src/main/resources/mapper/PeerMapper.xml
index 4c90eae..27814fd 100644
--- a/src/main/resources/mapper/PeerMapper.xml
+++ b/src/main/resources/mapper/PeerMapper.xml
@@ -2,33 +2,41 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.example.g8backend.mapper.PeerMapper">
-    <select id="getPeerByPK">
+
+    <select id="getPeerByPK" parameterType="map" resultType="com.example.g8backend.entity.Peer">
         SELECT * FROM peers
         WHERE peer_id = #{peerId} and info_hash = #{infoHash} and passkey = #{passkey}
     </select>
-    <select id="getPeerByInfoHashAndPeerId">
+
+    <select id="getPeerByInfoHashAndPeerId" parameterType="map" resultType="com.example.g8backend.entity.Peer">
         SELECT * FROM peers
         WHERE info_hash = #{infoHash} and peer_id = #{peerId}
     </select>
+
     <select id="selectAllInfoHashesWithPeers" resultType="String">
         SELECT DISTINCT info_hash FROM peers
     </select>
 
     <select id="countRecentActivity" resultType="Long" parameterType="String">
-        SELECT COUNT(*) FROM peers
+        SELECT COUNT(*) FROM torrents
         WHERE info_hash = #{infoHash}
-        AND last_activity_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
+        AND upload_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
     </select>
+
+
     <select id="selectByInfoHashList" parameterType="list" resultType="com.example.g8backend.entity.Torrent">
         SELECT * FROM torrents
         WHERE info_hash IN
-        <foreach item="item" index="index" collection="infoHashes" open="(" separator="," close=")">
+        <foreach collection="infoHashes" item="item" open="(" separator="," close=")">
             #{item}
         </foreach>
     </select>
-    <update id="updatePeer">
+
+
+    <update id="updatePeer" parameterType="map">
         UPDATE peers
         SET uploaded = #{uploaded}, downloaded = #{downloaded}
-        WHERE peer_id = #{peerId} and info_hash = #{info_hash} and passkey = #{passkey}
+        WHERE peer_id = #{peerId} and info_hash = #{infoHash} and passkey = #{passkey}
     </update>
+
 </mapper>
diff --git a/src/main/resources/mapper/TorrentMapper.xml b/src/main/resources/mapper/TorrentMapper.xml
index cec75eb..e831504 100644
--- a/src/main/resources/mapper/TorrentMapper.xml
+++ b/src/main/resources/mapper/TorrentMapper.xml
@@ -3,31 +3,32 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="com.example.g8backend.mapper.TorrentMapper">
-    <insert id="insertTorrent" >
+
+    <insert id="insertTorrent">
         INSERT INTO torrents (user_id, torrent_name, file_path, info_hash, file_size)
-        VALUES (#{userId}, #{torrentName}, #{filePath}, UNHEX(#{infoHash}), #{fileSize})
+        VALUES (#{userId}, #{torrentName}, #{filePath}, #{infoHash}, #{fileSize})
     </insert>
 
     <select id="getTorrentByInfoHash" resultType="com.example.g8backend.entity.Torrent">
         SELECT
-            torrent_id,
-            user_id,
-            torrent_name,
-            file_path,
-            HEX(info_hash) AS infoHash,
-            file_size
+        torrent_id,
+        user_id,
+        torrent_name,
+        file_path,
+        info_hash AS infoHash,
+        file_size
         FROM torrents
-        WHERE info_hash = UNHEX(#{infoHash})
+        WHERE info_hash = #{infoHash}
     </select>
 
     <select id="getTorrentByTorrentId" resultType="com.example.g8backend.entity.Torrent">
         SELECT
-            torrent_id,
-            user_id,
-            torrent_name,
-            file_path,
-            HEX(info_hash) AS infoHash,
-            file_size
+        torrent_id,
+        user_id,
+        torrent_name,
+        file_path,
+        info_hash AS infoHash,
+        file_size
         FROM torrents
         WHERE torrent_id = #{torrentId}
     </select>
@@ -38,19 +39,21 @@
         user_id,
         torrent_name,
         file_path,
-        HEX(info_hash) AS infoHash,
-        file_size
+        info_hash AS infoHash,
+        file_size,
+        upload_time
         FROM torrents
         WHERE info_hash IN
         <foreach collection="infoHashes" item="hash" open="(" separator="," close=")">
-            UNHEX(#{hash})
+            #{hash}
         </foreach>
     </select>
 
+
     <update id="updateIsRareByInfoHash">
-        UPDATE torrent
-        SET israre = #{israre}
+        UPDATE torrents
+        SET is_rare = #{israre}
         WHERE info_hash = #{infoHash}
     </update>
 
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
index 0ace8eb..da70ed6 100644
--- a/src/main/resources/schema.sql
+++ b/src/main/resources/schema.sql
@@ -31,7 +31,7 @@
   `user_id` INT NOT NULL,
   `torrent_name` VARCHAR(255) NOT NULL,
   `file_path` VARCHAR(255) NOT NULL,
-  `info_hash` BINARY(20) NOT NULL,
+  `info_hash`CHAR(40) NOT NULL,
   `file_size` FLOAT NOT NULL,
   `upload_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '种子上传时间（第一次插入时自动填充）',
   `is_rare` BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否为冷门种子',
@@ -40,7 +40,7 @@
 -- Peer表（保持不变）
 CREATE TABLE IF NOT EXISTS `peers` (
   `passkey` VARCHAR(255) NOT NULL,
-  `info_hash` BINARY(20) NOT NULL,
+  `info_hash` CHAR(40) NOT NULL,
   `peer_id` VARCHAR(20) NOT NULL,
   `ip_address` VARCHAR(128) NOT NULL,
   `port` INT NOT NULL,
