From d2ab6f7153e604bac7bc4ad58f27f368b65d8a1e Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 16 六月 2026 13:54:58 +0800
Subject: [PATCH] feat: 添加能耗数据综合分析功能,支持按天和周维度的趋势分析

---
 src/main/java/com/ruoyi/http/task/TqdianbiaoSyncTask.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/http/task/TqdianbiaoSyncTask.java b/src/main/java/com/ruoyi/http/task/TqdianbiaoSyncTask.java
new file mode 100644
index 0000000..f01c9cd
--- /dev/null
+++ b/src/main/java/com/ruoyi/http/task/TqdianbiaoSyncTask.java
@@ -0,0 +1,58 @@
+package com.ruoyi.http.task;
+
+import com.ruoyi.http.config.TqdianbiaoConfig;
+import com.ruoyi.http.service.TqdianbiaoCollectorSyncService;
+import com.ruoyi.http.service.TqdianbiaoEleSyncService;
+import com.ruoyi.http.service.TqdianbiaoMeterSyncService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * 澶╁惎鐢佃〃瀹氭椂鍚屾锛氫粎鍚屾閲囬泦鍣ㄣ�佺數琛ㄣ�佸皬鏃剁數閲忥紙缁熻鐢卞皬鏃剁疮绉绠楋級
+ */
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class TqdianbiaoSyncTask {
+
+    private final TqdianbiaoConfig config;
+    private final TqdianbiaoCollectorSyncService collectorSyncService;
+    private final TqdianbiaoMeterSyncService meterSyncService;
+    private final TqdianbiaoEleSyncService eleSyncService;
+
+    //@Scheduled(cron = "30 5 * * * ?")
+    public void syncCollectors() {
+        if (!isEnabled()) return;
+        try {
+            collectorSyncService.syncCollectors();
+        } catch (Exception e) {
+            log.error("閲囬泦鍣ㄥ畾鏃跺悓姝ュ紓甯�", e);
+        }
+    }
+
+    @Scheduled(cron = "30 7 * * * ?")
+    public void syncMeters() {
+        if (!isEnabled()) return;
+        try {
+            meterSyncService.syncMeters();
+        } catch (Exception e) {
+            log.error("鐢佃〃瀹氭椂鍚屾寮傚父", e);
+        }
+    }
+
+    @Scheduled(cron = "30 10 * * * ?")
+    public void syncHourEle() {
+        if (!isEnabled()) return;
+        try {
+            eleSyncService.syncHourData();
+        } catch (Exception e) {
+            log.error("灏忔椂鐢甸噺瀹氭椂鍚屾寮傚父", e);
+        }
+    }
+
+    private boolean isEnabled() {
+        return config.getSync() != null && Boolean.TRUE.equals(config.getSync().getEnabled());
+    }
+}

--
Gitblit v1.9.3