From 6c38637d89f346a660618558451f2dd7286dc7a5 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 31 八月 2026 22:51:54 +0800
Subject: [PATCH] 补齐检测柜模拟器完整 Excel 数据生命周期
---
ruoyi-device/src/main/java/com/ruoyi/device/simulator/InMemoryBtsSimulatorStateStore.java | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 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 ac03f84..0271cea 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
@@ -11,6 +11,7 @@
import com.ruoyi.device.simulator.BtsSimulatorStateStore.BtsHistoryBatch;
import com.ruoyi.device.simulator.BtsSimulatorStateStore.RecentRequest;
import com.ruoyi.device.simulator.BtsSimulatorStateStore.SimulatorState;
+import com.ruoyi.device.simulator.BtsSimulatorStateStore.BtsPlaybackState;
/** 测试和独立协议合同使用的内存状态存储。 */
public final class InMemoryBtsSimulatorStateStore implements BtsSimulatorStateStore
@@ -19,6 +20,7 @@
private List<RecentRequest> recentRequests = List.of();
private final Map<String, ArrayList<CollectorMeasurementRecord>> collectorHistory = new LinkedHashMap<>();
private final Map<String, ArrayList<BtsHistoryRecord>> btsHistory = new LinkedHashMap<>();
+ private final Map<String, BtsPlaybackState> btsPlayback = new LinkedHashMap<>();
public InMemoryBtsSimulatorStateStore() { }
@@ -107,6 +109,41 @@
}
@Override
+ public synchronized BtsPlaybackState loadBtsPlaybackState(String historyKey)
+ {
+ return btsPlayback.get(historyKey);
+ }
+
+ @Override
+ public synchronized void saveBtsPlaybackState(String historyKey, BtsPlaybackState playback)
+ {
+ btsPlayback.put(historyKey, playback);
+ }
+
+ @Override
+ public synchronized void deleteBtsPlaybackState(String historyKey)
+ {
+ btsPlayback.remove(historyKey);
+ }
+
+ @Override
+ public synchronized void deleteBtsHistory(String historyKey)
+ {
+ btsHistory.remove(historyKey);
+ }
+
+ @Override
+ public synchronized void saveBtsPlaybackAndAppendHistory(String historyKey, BtsPlaybackState playback,
+ List<BtsHistoryRecord> records)
+ {
+ ArrayList<BtsHistoryRecord> history = btsHistory.computeIfAbsent(historyKey, key -> new ArrayList<>());
+ history.addAll(records);
+ int overflow = history.size() - (int) MAX_HISTORY_RECORDS;
+ if (overflow > 0) history.subList(0, overflow).clear();
+ btsPlayback.put(historyKey, playback);
+ }
+
+ @Override
public synchronized List<RecentRequest> loadRecentRequests()
{
return recentRequests;
@@ -125,5 +162,6 @@
recentRequests = List.of();
collectorHistory.clear();
btsHistory.clear();
+ btsPlayback.clear();
}
}
--
Gitblit v1.7.1