diff --git a/mateclaw-server/src/main/java/vip/mate/operational/controller/OperationalDataController.java b/mateclaw-server/src/main/java/vip/mate/operational/controller/OperationalDataController.java
new file mode 100644
index 00000000..2d65a058
--- /dev/null
+++ b/mateclaw-server/src/main/java/vip/mate/operational/controller/OperationalDataController.java
@@ -0,0 +1,112 @@
+package vip.mate.operational.controller;
+
+import org.springframework.core.io.InputStreamResource;
+import org.springframework.core.io.Resource;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import vip.mate.operational.model.ExportTask;
+import vip.mate.operational.service.OperationalDataExportService;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.time.LocalDate;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 运营数据导出 Controller — 仅全局管理员可访问。
+ *
+ * 不暴露标准 REST API 端点,下载通过一次性 token 保护。
+ */
+@RestController
+@RequestMapping("/api/v1/operational-data")
+public class OperationalDataController {
+
+ private final OperationalDataExportService exportService;
+
+ public OperationalDataController(OperationalDataExportService exportService) {
+ this.exportService = exportService;
+ }
+
+ @PostMapping("/generate")
+ @PreAuthorize("hasRole('ADMIN')")
+ public ResponseEntity