From 03e1ff455f71330e6d1adaaa46c6613238f2b1bd Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 16 六月 2026 10:58:16 +0800
Subject: [PATCH] feat: 添加电量记录同步功能及相关数据处理优化

---
 src/main/java/com/ruoyi/http/controller/TqdianbiaoEleRecordController.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/http/controller/TqdianbiaoEleRecordController.java b/src/main/java/com/ruoyi/http/controller/TqdianbiaoEleRecordController.java
index a165b8a..4870802 100644
--- a/src/main/java/com/ruoyi/http/controller/TqdianbiaoEleRecordController.java
+++ b/src/main/java/com/ruoyi/http/controller/TqdianbiaoEleRecordController.java
@@ -7,6 +7,7 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.http.pojo.TqdianbiaoEleRecord;
 import com.ruoyi.http.service.TqdianbiaoEleRecordManageService;
+import com.ruoyi.http.service.TqdianbiaoEleSyncService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
@@ -17,7 +18,12 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @Tag(name = "鐢甸噺璁板綍绠$悊")
@@ -25,7 +31,10 @@
 @RequiredArgsConstructor
 public class TqdianbiaoEleRecordController extends BaseController {
 
+    private static final DateTimeFormatter HOUR_FMT = DateTimeFormatter.ofPattern("yyyyMMddHH");
+
     private final TqdianbiaoEleRecordManageService eleRecordManageService;
+    private final TqdianbiaoEleSyncService eleSyncService;
 
     @GetMapping("/listPage")
     @Operation(summary = "鐢甸噺璁板綍-鍒嗛〉鏌ヨ")
@@ -56,4 +65,18 @@
     public AjaxResult prevReading(Long meterId, String timeKey) {
         return AjaxResult.success(eleRecordManageService.getPrevReading(meterId, timeKey));
     }
+
+    @PostMapping("/syncRecentOnce")
+    @Log(title = "鐢甸噺璁板綍-杩戜笁澶╄ˉ鏁�", businessType = BusinessType.OTHER)
+    @Operation(summary = "鍚屾鍓嶄笁澶╄嚦褰撳墠灏忔椂鐢甸噺锛堜竴娆℃�цˉ鏁帮級")
+    public AjaxResult syncRecentOnce() {
+        LocalDateTime start = LocalDate.now().minusDays(3).atStartOfDay();
+        LocalDateTime end = LocalDateTime.now().withMinute(0).withSecond(0).withNano(0);
+        int count = eleSyncService.syncLast3DaysHourData();
+        Map<String, Object> data = new HashMap<>();
+        data.put("count", count);
+        data.put("startTime", start.format(HOUR_FMT));
+        data.put("endTime", end.format(HOUR_FMT));
+        return AjaxResult.success("鍚屾瀹屾垚锛�" + data.get("startTime") + " ~ " + data.get("endTime") + " 鍏� " + count + " 鏉�", data);
+    }
 }

--
Gitblit v1.9.3