From dc3f9cc91759823ce59486f19b138be4b296a0f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 28 四月 2026 09:43:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java b/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
index 176e1b0..a609520 100644
--- a/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
+++ b/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
@@ -2,6 +2,8 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zy.ai.domain.autotune.AutoTuneParameterSnapshot;
+import com.zy.ai.domain.autotune.AutoTuneRuleDefinition;
+import com.zy.ai.domain.autotune.AutoTuneRuleSnapshotItem;
 import com.zy.ai.domain.autotune.AutoTuneSnapshot;
 import com.zy.ai.domain.autotune.AutoTuneStationRuntimeItem;
 import com.zy.ai.domain.autotune.AutoTuneTaskSnapshot;
@@ -86,10 +88,29 @@
         snapshot.setCycleLoadSnapshot(buildCycleLoadSnapshot());
         snapshot.setFlowTopologySnapshot(flowTopologySnapshotService.buildSnapshot(stationRuntimeSnapshot));
         snapshot.setCurrentParameterSnapshot(buildCurrentParameterSnapshot());
+        snapshot.setRuleSnapshot(buildRuleSnapshot());
         snapshot.setSnapshotTime(new Date());
         return snapshot;
     }
 
+    List<AutoTuneRuleSnapshotItem> buildRuleSnapshot() {
+        List<AutoTuneRuleSnapshotItem> result = new ArrayList<>();
+        for (AutoTuneRuleDefinition.Rule rule : AutoTuneRuleDefinition.rules().values()) {
+            AutoTuneRuleSnapshotItem item = new AutoTuneRuleSnapshotItem();
+            item.setTargetType(rule.getTargetType().getCode());
+            item.setTargetKey(rule.getTargetKey());
+            item.setMinValue(rule.getMinValue());
+            item.setMaxValue(rule.getMaxValue());
+            item.setMaxStep(rule.getMaxStep());
+            item.setCooldownMinutes(rule.getCooldownMinutes());
+            item.setDynamicMaxValue(rule.isDynamicMaxValue());
+            item.setDynamicMaxSource(rule.getDynamicMaxSource());
+            item.setNote(rule.getNote());
+            result.add(item);
+        }
+        return result;
+    }
+
     private AutoTuneTaskSnapshot buildTaskSnapshot() {
         List<WrkMast> activeTasks = loadActiveTasks();
 

--
Gitblit v1.9.1