From b051f008e007a335948cd8f3b78c1f7629a4d6ac Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期一, 31 八月 2026 13:00:05 +0800
Subject: [PATCH] fix: 菜单高亮间歇性失效根因(el-menu 同路由导航回滚 activeIndex)——default-active 绑定路由+select 后宏任务纠正;feat: 修改密码(用户自改)+ admin 重置他人密码为 123456

---
 traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
index e5dc454..dd04fa2 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
@@ -3,6 +3,7 @@
 import com.trafficaudit.auditengine.entity.AuditResult;
 import com.trafficaudit.auditengine.service.AuditEngineService;
 import com.trafficaudit.common.Result;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -16,14 +17,58 @@
     private AuditEngineService auditService;
 
     @PostMapping("/execute")
-    public Result<List<AuditResult>> executeAudit(@RequestParam("period") String period) {
-        List<AuditResult> results = auditService.executeAudit(period);
+    public Result<List<AuditResult>> executeAudit(@RequestParam("period") String period,
+                                                  @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        List<AuditResult> results;
+        if ("H2031".equals(reportType)) {
+            results = auditService.executePassengerAudit(period);
+        } else if ("H204".equals(reportType)) {
+            results = auditService.executeEnergyAudit(period);
+        } else if ("INVEST".equals(reportType)) {
+            results = auditService.executeInvestmentAudit(period);
+        } else if ("CITY_BUS".equals(reportType)) {
+            results = auditService.executeCityBusAudit(period);
+        } else if ("CITY_TAXI".equals(reportType)) {
+            results = auditService.executeCityTaxiAudit(period);
+        } else {
+            results = auditService.executeAudit(period);
+        }
         return Result.ok(results);
     }
 
+    /** 鏍囪璇ユ姤琛ㄦ湡+绫诲瀷涓恒�屽凡瀹℃牳銆嶏紙绾夸笅瀹℃牳閫氳繃鐨勬暟鎹紱鍏堝鏍稿啀鍑鸿〃鐨勪緷鎹紝瀵煎嚭鍓嶄笉鍐嶆彁绀烘湭瀹℃牳锛� */
+    @PostMapping("/markAudited")
+    public Result<Boolean> markAudited(@RequestParam("period") String period,
+                                       @RequestParam("reportType") String reportType) {
+        return Result.ok(auditService.markAudited(reportType, period));
+    }
+
+    @GetMapping("/ruleStats")
+    public Result<java.util.List<java.util.Map<String, Object>>> ruleStats(@RequestParam("period") String period,
+                                                                           @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        return Result.ok(auditService.ruleStats(period, reportType));
+    }
+
+    @GetMapping("/latestPeriod")
+    public Result<String> latestPeriod(@RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        return Result.ok(auditService.latestPeriod(reportType));
+    }
+
+    @GetMapping("/export")
+    public ResponseEntity<byte[]> exportResults(@RequestParam("period") String period,
+                                                @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) throws Exception {
+        byte[] bytes = auditService.exportResults(period, reportType);
+        String name = java.net.URLEncoder.encode("瀹℃牳缁撴灉_" + period + ".xlsx", "UTF-8");
+        return ResponseEntity.ok()
+            .header("Content-Disposition", "attachment; filename*=UTF-8''" + name)
+            .contentType(org.springframework.http.MediaType.APPLICATION_OCTET_STREAM)
+            .body(bytes);
+    }
+
     @GetMapping("/results")
-    public Result<List<AuditResult>> getResults(@RequestParam("period") String period) {
-        List<AuditResult> results = auditService.queryResults(period);
+    public Result<List<AuditResult>> getResults(@RequestParam("period") String period,
+                                                @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        List<AuditResult> results = auditService.queryResults(period, reportType);
         return Result.ok(results);
     }
 

--
Gitblit v1.9.1