From 54e10aee11aa4a10926df02782ca07d41eeb9b98 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期二, 06 十月 2026 16:19:07 +0800
Subject: [PATCH] fix(holiday): 加大折线图纵向间距并同步 Word 尺寸

---
 traffic-audit-server/src/main/java/com/trafficaudit/holiday/controller/HolidayVehicleAdjustmentController.java |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/holiday/controller/HolidayVehicleAdjustmentController.java b/traffic-audit-server/src/main/java/com/trafficaudit/holiday/controller/HolidayVehicleAdjustmentController.java
new file mode 100644
index 0000000..932b9a3
--- /dev/null
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/holiday/controller/HolidayVehicleAdjustmentController.java
@@ -0,0 +1,71 @@
+package com.trafficaudit.holiday.controller;
+
+import com.trafficaudit.common.Result;
+import com.trafficaudit.holiday.entity.HolidayVehicleAdjustment;
+import com.trafficaudit.holiday.service.HolidayVehicleAdjustmentService;
+import com.trafficaudit.security.utils.JwtUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/holiday/adjustments")
+public class HolidayVehicleAdjustmentController {
+
+    @Resource
+    private HolidayVehicleAdjustmentService adjustmentService;
+    @Resource
+    private JwtUtils jwtUtils;
+
+    @GetMapping
+    public Result<List<HolidayVehicleAdjustment>> list(@RequestParam(value = "year", required = false) Integer year) {
+        return Result.ok(adjustmentService.list(year));
+    }
+
+    @GetMapping("/source-value")
+    public Result<BigDecimal> sourceValue(@RequestParam("year") Integer year,
+                                         @RequestParam("flowDate") String flowDate) {
+        try {
+            return Result.ok(adjustmentService.findOriginalValue(year, LocalDate.parse(flowDate)));
+        } catch (Exception e) {
+            return Result.error(400, e.getMessage());
+        }
+    }
+
+    @PostMapping("/save")
+    public Result<HolidayVehicleAdjustment> save(@RequestHeader(value = "Authorization", required = false) String auth,
+                                                 @RequestBody Map<String, Object> params) {
+        if (!isAdmin(auth)) return Result.error(403, "浠� admin 鍙互缁存姢寰�骞村浗鐪侀亾鏁版嵁璋冩暣");
+        try {
+            return Result.ok(adjustmentService.save(params));
+        } catch (Exception e) {
+            return Result.error(400, e.getMessage());
+        }
+    }
+
+    @PostMapping("/delete")
+    public Result<Void> delete(@RequestHeader(value = "Authorization", required = false) String auth,
+                               @RequestParam("id") Long id) {
+        if (!isAdmin(auth)) return Result.error(403, "浠� admin 鍙互缁存姢寰�骞村浗鐪侀亾鏁版嵁璋冩暣");
+        try {
+            adjustmentService.delete(id);
+            return Result.ok();
+        } catch (Exception e) {
+            return Result.error(400, e.getMessage());
+        }
+    }
+
+    private boolean isAdmin(String auth) {
+        return "admin".equals(jwtUtils.resolveUsername(auth));
+    }
+}

--
Gitblit v1.9.1