diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml
index 370f64a..2550a70 100644
--- a/.idea/dataSources.local.xml
+++ b/.idea/dataSources.local.xml
@@ -1,37 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="dataSourceStorageLocal" created-in="IU-243.21565.193">
-    <data-source name="ptProject@localhost" uuid="6689f15a-5cd0-40b0-970c-713db3e7bac2">
-      <database-info product="MySQL" version="8.0.40" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c)" dbms="MYSQL" exact-version="8.0.40" exact-driver-version="8.2">
-        <extra-name-characters>#@</extra-name-characters>
-        <identifier-quote-string>`</identifier-quote-string>
-      </database-info>
-      <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
-      <user-name>root</user-name>
-      <schema-mapping>
-        <introspection-scope>
-          <node kind="schema" qname="@" />
-        </introspection-scope>
-      </schema-mapping>
-    </data-source>
-    <data-source name="Aurora MySQL (AWS Wrapper)" uuid="bd626494-98ff-4826-9446-415666456eab">
-      <database-info product="MySQL" version="8.4.5" jdbc-version="4.2" driver-name="Amazon Web Services (AWS) Advanced JDBC Wrapper" driver-version="Amazon Web Services (AWS) Advanced JDBC Wrapper 2.3.7 ( Revision: 7591851e8da4e1c705ba232a8bd07824a5cfd276 )" dbms="MYSQL" exact-version="8.4.5" exact-driver-version="2.3">
-        <extra-name-characters>#@</extra-name-characters>
-        <identifier-quote-string>`</identifier-quote-string>
-      </database-info>
-      <case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
-      <secret-storage>master_key</secret-storage>
-      <user-name>team11</user-name>
-      <schema-mapping>
-        <introspection-scope>
-          <node kind="schema" qname="@" />
-        </introspection-scope>
-      </schema-mapping>
-    </data-source>
     <data-source name="echodevelop@202.205.102.121" uuid="6d2a7063-ae4c-471f-ae05-e32dede5d0ec">
       <database-info product="MySQL" version="8.4.5" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c)" dbms="MYSQL" exact-version="8.4.5" exact-driver-version="8.2">
         <extra-name-characters>#@</extra-name-characters>
         <identifier-quote-string>`</identifier-quote-string>
+        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
       </database-info>
       <case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
       <user-name>team11</user-name>
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 0de76d7..23f66bf 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -1,32 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
-    <data-source source="LOCAL" name="ptProject@localhost" uuid="6689f15a-5cd0-40b0-970c-713db3e7bac2">
-      <driver-ref>mysql.8</driver-ref>
-      <synchronize>true</synchronize>
-      <imported>true</imported>
-      <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
-      <jdbc-url>jdbc:mysql://localhost:3306/ptProject</jdbc-url>
-      <jdbc-additional-properties>
-        <property name="com.intellij.clouds.kubernetes.db.host.port" />
-        <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
-        <property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
-        <property name="com.intellij.clouds.kubernetes.db.container.port" />
-      </jdbc-additional-properties>
-      <working-dir>$ProjectFileDir$</working-dir>
-    </data-source>
-    <data-source source="LOCAL" name="Aurora MySQL (AWS Wrapper)" uuid="bd626494-98ff-4826-9446-415666456eab">
-      <driver-ref>mysql_aurora.aws_wrapper</driver-ref>
-      <synchronize>true</synchronize>
-      <jdbc-driver>software.amazon.jdbc.Driver</jdbc-driver>
-      <jdbc-url>jdbc:aws-wrapper:mysql://202.205.102.121 :3306/echodevelop</jdbc-url>
-      <jdbc-additional-properties>
-        <property name="com.intellij.clouds.kubernetes.db.host.port" />
-        <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
-        <property name="com.intellij.clouds.kubernetes.db.container.port" />
-      </jdbc-additional-properties>
-      <working-dir>$ProjectFileDir$</working-dir>
-    </data-source>
     <data-source source="LOCAL" name="echodevelop@202.205.102.121" uuid="6d2a7063-ae4c-471f-ae05-e32dede5d0ec">
       <driver-ref>mysql.8</driver-ref>
       <synchronize>true</synchronize>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index f6ecb62..d12ee37 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,10 +5,14 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="f008fe30-0711-42e2-bb33-17dcfdbad387" name="Changes" comment="pom">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/config/WebConfig.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/controller/TorrentLikesController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/entity/TorrentLikes.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/repository/TorrentLikesRepository.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/TorrentLikesService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/dataSources.local.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources.local.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/dataSources.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/PostService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/myproject/service/PostService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/echo-backend.iml" beforeDir="false" afterPath="$PROJECT_DIR$/echo-backend.iml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -26,6 +30,10 @@
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
     <option name="ROOT_SYNC" value="SYNC" />
   </component>
+  <component name="HighlightingSettingsPerFile">
+    <setting file="file://$PROJECT_DIR$/src/main/java/com/example/myproject/config/WebConfig.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/src/main/java/com/example/myproject/service/PostService.java" root0="FORCE_HIGHLIGHTING" />
+  </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
   </component>
@@ -41,36 +49,36 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent"><![CDATA[{
-  "keyToString": {
-    "JUnit.UserControllerTest.executor": "Run",
-    "JUnit.UserControllerTest.testUpdateUserAvatar.executor": "Run",
-    "JUnit.UserControllerTest.testUploadUserAvatar.executor": "Run",
-    "RequestMappingsPanelOrder0": "0",
-    "RequestMappingsPanelOrder1": "1",
-    "RequestMappingsPanelWidth0": "75",
-    "RequestMappingsPanelWidth1": "75",
-    "RunOnceActivity.OpenProjectViewOnStart": "true",
-    "RunOnceActivity.ShowReadmeOnStart": "true",
-    "RunOnceActivity.git.unshallow": "true",
-    "Spring Boot.MyProjectApplication.executor": "Run",
-    "git-widget-placeholder": "my-branch",
-    "kotlin-language-version-configured": "true",
-    "last_opened_file_path": "D:/PT/echo-backend/src/main/java/com/example/myproject/config",
-    "node.js.detected.package.eslint": "true",
-    "node.js.selected.package.eslint": "(autodetect)",
-    "node.js.selected.package.tslint": "(autodetect)",
-    "nodejs_package_manager_path": "npm",
-    "settings.editor.selected.configurable": "project.propVCSSupport.DirectoryMappings",
-    "vue.rearranger.settings.migration": "true",
-    "应用程序.MyProjectApplication.executor": "Run"
+  <component name="PropertiesComponent">{
+  &quot;keyToString&quot;: {
+    &quot;JUnit.UserControllerTest.executor&quot;: &quot;Run&quot;,
+    &quot;JUnit.UserControllerTest.testUpdateUserAvatar.executor&quot;: &quot;Run&quot;,
+    &quot;JUnit.UserControllerTest.testUploadUserAvatar.executor&quot;: &quot;Run&quot;,
+    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
+    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
+    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
+    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
+    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
+    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
+    &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
+    &quot;Spring Boot.MyProjectApplication.executor&quot;: &quot;Run&quot;,
+    &quot;git-widget-placeholder&quot;: &quot;my-branch&quot;,
+    &quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
+    &quot;last_opened_file_path&quot;: &quot;D:/PT/echo-backend/src/main/java/com/example/myproject/config&quot;,
+    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
+    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
+    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
+    &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
+    &quot;settings.editor.selected.configurable&quot;: &quot;project.propVCSSupport.DirectoryMappings&quot;,
+    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;,
+    &quot;应用程序.MyProjectApplication.executor&quot;: &quot;Run&quot;
   },
-  "keyToStringList": {
-    "DatabaseDriversLRU": [
-      "mysql_aurora"
+  &quot;keyToStringList&quot;: {
+    &quot;DatabaseDriversLRU&quot;: [
+      &quot;mysql_aurora&quot;
     ]
   }
-}]]></component>
+}</component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
       <recent name="D:\PT\echo-backend\src\main\java\com\example\myproject\config" />
@@ -206,7 +214,7 @@
       <workItem from="1749007243227" duration="1245000" />
       <workItem from="1749033374884" duration="7535000" />
       <workItem from="1749048857906" duration="4388000" />
-      <workItem from="1749109821491" duration="697000" />
+      <workItem from="1749109821491" duration="5517000" />
     </task>
     <task id="LOCAL-00001" summary="pom">
       <option name="closed" value="true" />
diff --git a/echo-backend.iml b/echo-backend.iml
index e8ce722..4c33cf8 100644
--- a/echo-backend.iml
+++ b/echo-backend.iml
@@ -5,4 +5,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
     </content>
   </component>
+  <component name="FacetManager">
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <datasource-mapping />
+        <naming-strategy-map />
+      </configuration>
+    </facet>
+  </component>
 </module>
\ No newline at end of file
diff --git a/src/main/java/com/example/myproject/controller/TorrentLikesController.java b/src/main/java/com/example/myproject/controller/TorrentLikesController.java
new file mode 100644
index 0000000..7419faf
--- /dev/null
+++ b/src/main/java/com/example/myproject/controller/TorrentLikesController.java
@@ -0,0 +1,32 @@
+//package com.example.myproject.controller;
+//
+//import com.example.myproject.service.TorrentLikesService;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.Map;
+//
+//@RestController
+//@RequestMapping("/echo/torrent")
+//public class TorrentLikesController {
+//
+//    private final TorrentLikesService service;
+//
+//    public TorrentLikesController(TorrentLikesService service) {
+//        this.service = service;
+//    }
+//
+//    /**
+//     * 点赞接口
+//     * @param userId   用户ID（请求参数：user_id）
+//     * @param torrentId 种子ID（请求参数：torrent_id）
+//     * @return         操作结果：{"status": 1/0}
+//     */
+//    @PostMapping("/{userId}/{torrentId}")
+//    public Map<String, Object> toggleLike(
+//            @PathVariable Integer userId,
+//            @PathVariable Long torrentId) {
+//        return service.toggleLike(userId, torrentId);
+//    }
+//
+//
+//}
\ No newline at end of file
diff --git a/src/main/java/com/example/myproject/entity/TorrentLikes.java b/src/main/java/com/example/myproject/entity/TorrentLikes.java
new file mode 100644
index 0000000..e66ecd8
--- /dev/null
+++ b/src/main/java/com/example/myproject/entity/TorrentLikes.java
@@ -0,0 +1,55 @@
+//package com.example.myproject.entity;
+//
+//import javax.persistence.*;
+//
+//@Entity
+//@Table(name = "torrent_likes")
+//public class TorrentLikes {
+//
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    @Column(name = "like_id")
+//    private Long likeId;
+//
+//    @Column(name = "user_id")
+//    private Integer userId;
+//
+//    @Column(name = "torrent_id")
+//    private Long torrentId;
+//
+//    @Column(name = "is_liked", columnDefinition = "TINYINT(1) DEFAULT 0")
+//    private Integer isLiked;
+//
+//    // Getters and Setters
+//    public Long getLikeId() {
+//        return likeId;
+//    }
+//
+//    public void setLikeId(Long likeId) {
+//        this.likeId = likeId;
+//    }
+//
+//    public Integer getUserId() {
+//        return userId;
+//    }
+//
+//    public void setUserId(Integer userId) {
+//        this.userId = userId;
+//    }
+//
+//    public Long getTorrentId() {
+//        return torrentId;
+//    }
+//
+//    public void setTorrentId(Long torrentId) {
+//        this.torrentId = torrentId;
+//    }
+//
+//    public Integer getIsLiked() {
+//        return isLiked;
+//    }
+//
+//    public void setIsLiked(Integer isLiked) {
+//        this.isLiked = isLiked;
+//    }
+//}
\ No newline at end of file
diff --git a/src/main/java/com/example/myproject/repository/TorrentLikesRepository.java b/src/main/java/com/example/myproject/repository/TorrentLikesRepository.java
new file mode 100644
index 0000000..2a4e712
--- /dev/null
+++ b/src/main/java/com/example/myproject/repository/TorrentLikesRepository.java
@@ -0,0 +1,24 @@
+//package com.example.myproject.repository;
+//
+//import com.example.myproject.entity.TorrentLikes;
+//import org.springframework.data.jpa.repository.JpaRepository;
+//import org.springframework.data.jpa.repository.Modifying;
+//import org.springframework.data.jpa.repository.Query;
+//import org.springframework.data.repository.query.Param;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.Optional;
+//
+//public interface TorrentLikesRepository extends JpaRepository<TorrentLikes, Long> {
+//
+//    // 根据用户ID和种子ID查询记录
+//    Optional<TorrentLikes> findByUserIdAndTorrentId(Integer userId, Long torrentId);
+//
+//    // 更新点赞状态（基于用户ID和种子ID）
+//    @Modifying
+//    @Transactional
+//    @Query("UPDATE TorrentLikes t SET t.isLiked = :isLiked WHERE t.userId = :userId AND t.torrentId = :torrentId")
+//    int updateIsLikedByUserIdAndTorrentId(@Param("userId") Integer userId,
+//                                          @Param("torrentId") Long torrentId,
+//                                          @Param("isLiked") Integer isLiked);
+//}
\ No newline at end of file
diff --git a/src/main/java/com/example/myproject/service/TorrentLikesService.java b/src/main/java/com/example/myproject/service/TorrentLikesService.java
new file mode 100644
index 0000000..4b96310
--- /dev/null
+++ b/src/main/java/com/example/myproject/service/TorrentLikesService.java
@@ -0,0 +1,61 @@
+//package com.example.myproject.service;
+//
+//import com.example.myproject.entity.TorrentLikes;
+//import com.example.myproject.repository.TorrentLikesRepository;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//import java.util.Optional;
+//
+//@Service
+//public class TorrentLikesService {
+//
+//    private final TorrentLikesRepository repository;
+//
+//
+//    public TorrentLikesService(TorrentLikesRepository repository) {
+//        this.repository = repository;
+//
+//    }
+//
+//    /**
+//     * 点赞接口核心逻辑
+//     * @param userId   用户ID
+//     * @param torrentId 种子ID
+//     * @return         最终点赞状态（1=已点赞，0=未点赞）
+//     */
+//    @Transactional
+//    public Map<String, Object> toggleLike(Integer userId, Long torrentId) {
+//        // 校验torrentId是否存在
+//        if (!repository.existsById(torrentId)) {
+//            throw new IllegalArgumentException("无效的torrentId: " + torrentId);
+//        }
+//
+//        Optional<TorrentLikes> existingLike = repository.findByUserIdAndTorrentId(userId, torrentId);
+//        Integer newStatus;
+//
+//        if (existingLike.isPresent()) {
+//            TorrentLikes likes = existingLike.get();
+//            Integer currentStatus = likes.getIsLiked();
+//            newStatus = currentStatus == 1 ? 0 : 1;
+//            repository.updateIsLikedByUserIdAndTorrentId(userId, torrentId, newStatus);
+//        } else {
+//            TorrentLikes newLike = new TorrentLikes();
+//            newLike.setUserId(userId);
+//            newLike.setTorrentId(torrentId);
+//            newLike.setIsLiked(1);
+//            repository.save(newLike);
+//            newStatus = 1;
+//        }
+//
+//        // 构建返回结果
+//        Map<String, Object> result = new HashMap<>();
+//        result.put("status", newStatus);
+//        result.put("message", newStatus == 1 ? "点赞成功" : "取消点赞成功");
+//        result.put("userId", userId);
+//        result.put("torrentId", torrentId);
+//        return result;
+//    }
+//}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index b21068f..9612287 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,4 +1,4 @@
-server.port=8080
+server.port=5011
 spring.datasource.url=jdbc:mysql://202.205.102.121:3306/echodevelop
 spring.datasource.username=team11
 spring.datasource.password=Team11000#
diff --git a/target/classes/application.properties b/target/classes/application.properties
index b21068f..9612287 100644
--- a/target/classes/application.properties
+++ b/target/classes/application.properties
@@ -1,4 +1,4 @@
-server.port=8080
+server.port=5011
 spring.datasource.url=jdbc:mysql://202.205.102.121:3306/echodevelop
 spring.datasource.username=team11
 spring.datasource.password=Team11000#
