From b985e6140e7f395ead7dc55e41e6b16d97f9f02b Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期日, 30 八月 2026 14:44:30 +0800
Subject: [PATCH] 简化开发模拟器历史数据管理

---
 ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java b/ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java
index 48e1263..2656282 100644
--- a/ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java
+++ b/ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java
@@ -41,8 +41,13 @@
     public synchronized void save(SimulatorState state, List<CollectorHistoryAppend> historyAppends)
     {
         for (CollectorHistoryAppend append : historyAppends)
-            collectorHistory.computeIfAbsent(append.collectorCode(), key -> new ArrayList<>())
-                    .addAll(append.records());
+        {
+            ArrayList<CollectorMeasurementRecord> history = collectorHistory.computeIfAbsent(
+                    append.collectorCode(), key -> new ArrayList<>());
+            history.addAll(append.records());
+            int overflow = history.size() - (int) MAX_HISTORY_RECORDS;
+            if (overflow > 0) history.subList(0, overflow).clear();
+        }
         this.state = state;
     }
 

--
Gitblit v1.7.1