From 0c336d5c5c0596691c9b33c08643c03486d47d5f Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 四月 2026 18:56:39 +0800
Subject: [PATCH] refactor: move station buffer capacity to bas station

---
 src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 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 6838509..176e1b0 100644
--- a/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
+++ b/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
@@ -224,7 +224,9 @@
         ));
         List<BasCrnp> crnList = loadCrnList();
         List<BasDualCrnp> dualCrnList = loadDualCrnList();
-        snapshot.setStationOutTaskLimits(loadStationOutTaskLimits());
+        List<BasStation> outStationList = loadOutStationList();
+        snapshot.setStationOutTaskLimits(buildStationOutTaskLimitMap(outStationList));
+        snapshot.setStationOutBufferCapacities(buildStationOutBufferCapacityMap(outStationList));
         snapshot.setCrnMaxOutTask(buildCrnMaxOutTask(crnList));
         snapshot.setCrnMaxInTask(buildCrnMaxInTask(crnList));
         snapshot.setDualCrnMaxOutTask(buildDualCrnMaxOutTask(dualCrnList));
@@ -247,19 +249,18 @@
         }
     }
 
-    private Map<String, Integer> loadStationOutTaskLimits() {
-        Map<String, Integer> result = new LinkedHashMap<>();
+    private List<BasStation> loadOutStationList() {
         if (basStationService == null) {
-            return result;
+            return Collections.emptyList();
         }
         Set<Integer> outStationIds = loadOutStationIds();
         if (outStationIds.isEmpty()) {
-            return result;
+            return Collections.emptyList();
         }
         QueryWrapper<BasStation> wrapper = new QueryWrapper<>();
         wrapper.in("station_id", outStationIds);
         wrapper.orderByAsc("station_id");
-        return buildStationOutTaskLimitMap(basStationService.list(wrapper));
+        return safeList(basStationService.list(wrapper));
     }
 
     private Set<Integer> loadOutStationIds() {
@@ -295,6 +296,16 @@
         return result;
     }
 
+    Map<String, Integer> buildStationOutBufferCapacityMap(List<BasStation> stationList) {
+        Map<String, Integer> result = new LinkedHashMap<>();
+        for (BasStation station : safeList(stationList)) {
+            if (station != null && station.getStationId() != null) {
+                result.put(String.valueOf(station.getStationId()), station.getOutBufferCapacity());
+            }
+        }
+        return result;
+    }
+
     private Map<String, Integer> buildCrnMaxOutTask(List<BasCrnp> crnList) {
         Map<String, Integer> result = new LinkedHashMap<>();
         for (BasCrnp crn : safeList(crnList)) {

--
Gitblit v1.9.1