diff --git a/src/main/java/com/pt/controller/TorrentStatsController.java b/src/main/java/com/pt/controller/TorrentStatsController.java
new file mode 100644
index 0000000..63e4c72
--- /dev/null
+++ b/src/main/java/com/pt/controller/TorrentStatsController.java
@@ -0,0 +1,42 @@
+package com.pt.controller;
+
+import com.pt.entity.TorrentStats;
+import com.pt.service.TorrentStatsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/stats")
+public class TorrentStatsController {
+
+    @Autowired
+    private TorrentStatsService statsService;
+
+    // 1. 获取单个种子统计
+    @GetMapping("/{torrentId}")
+    public TorrentStats getStats(@PathVariable Long torrentId) {
+        return statsService.getTorrentStats(torrentId);
+    }
+
+    // 2. 获取热门种子（做种人数TOP N）
+    @GetMapping("/top-seeded")
+    public List<TorrentStats> getTopSeeded(
+            @RequestParam(defaultValue = "10") int limit) {
+        return statsService.getTopSeededTorrents(limit);
+    }
+
+    // 3. 获取最近活跃种子
+    @GetMapping("/recent-active")
+    public List<TorrentStats> getRecentActive(
+            @RequestParam(defaultValue = "10") int limit) {
+        return statsService.getRecentActiveTorrents(limit);
+    }
+
+    // 4. 批量获取统计信息
+    @PostMapping("/batch")
+    public List<TorrentStats> getBatchStats(@RequestBody List<Long> torrentIds) {
+        return statsService.getBatchStats(torrentIds);
+    }
+}
\ No newline at end of file
