From e38aca8134570513435c003c25dc05f1ae51c9c9 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 08 十月 2026 13:56:28 +0800
Subject: [PATCH] 实现 Ticket04:采集器辅助测量与登记入口,拆除开发模拟器

---
 battery-device-api/src/main/java/com/battery/device/api/discovery/InMemoryDeviceDiscoveryCandidateStore.java |   15 ++++-----------
 1 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/battery-device-api/src/main/java/com/battery/device/api/discovery/InMemoryDeviceDiscoveryCandidateStore.java b/battery-device-api/src/main/java/com/battery/device/api/discovery/InMemoryDeviceDiscoveryCandidateStore.java
index 37eea0f..da84c61 100644
--- a/battery-device-api/src/main/java/com/battery/device/api/discovery/InMemoryDeviceDiscoveryCandidateStore.java
+++ b/battery-device-api/src/main/java/com/battery/device/api/discovery/InMemoryDeviceDiscoveryCandidateStore.java
@@ -9,33 +9,26 @@
 public final class InMemoryDeviceDiscoveryCandidateStore implements DeviceDiscoveryCandidateStore
 {
     private final Map<String, CabinetCandidate> cabinets = new LinkedHashMap<>();
-    private final Map<String, CollectorCandidate> collectors = new LinkedHashMap<>();
 
+    /** 按设备编码 upsert 本轮检测柜观测;本轮未返回的候选保留到逻辑过期。 */
     @Override
     public synchronized void recordCabinets(List<CabinetCandidate> candidates)
     {
         candidates.forEach(item -> cabinets.put(item.deviceCode(), item));
     }
 
-    @Override
-    public synchronized void replaceCollectors(String adapterCode, List<CollectorCandidate> candidates)
-    {
-        collectors.values().removeIf(item -> item.adapterCode().equals(adapterCode));
-        candidates.forEach(item -> collectors.put(item.deviceCode(), item));
-    }
-
+    /** 删除指定适配器名下的检测柜候选;仅供人工重置或联调清理。 */
     @Override
     public synchronized void removeAdapter(String adapterCode)
     {
         cabinets.values().removeIf(item -> item.adapterCode().equals(adapterCode));
-        collectors.values().removeIf(item -> item.adapterCode().equals(adapterCode));
     }
 
+    /** 返回指定时刻尚未过期的候选,并清理已过期条目。 */
     @Override
     public synchronized CandidateSnapshot snapshot(Instant now)
     {
         cabinets.values().removeIf(item -> !item.expiresAt().isAfter(now));
-        collectors.values().removeIf(item -> !item.expiresAt().isAfter(now));
-        return new CandidateSnapshot(List.copyOf(cabinets.values()), List.copyOf(collectors.values()));
+        return new CandidateSnapshot(List.copyOf(cabinets.values()));
     }
 }

--
Gitblit v1.7.1