From 68156d14934ffb7d7b6e0dca63d3dcf3ed43c995 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 05 九月 2026 18:01:40 +0800
Subject: [PATCH] 修复离线设备无法发现和登记的问题

---
 battery-business/src/main/java/com/battery/business/service/impl/TCollectorServiceImpl.java |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/battery-business/src/main/java/com/battery/business/service/impl/TCollectorServiceImpl.java b/battery-business/src/main/java/com/battery/business/service/impl/TCollectorServiceImpl.java
index c3603a8..95fd84a 100644
--- a/battery-business/src/main/java/com/battery/business/service/impl/TCollectorServiceImpl.java
+++ b/battery-business/src/main/java/com/battery/business/service/impl/TCollectorServiceImpl.java
@@ -98,8 +98,7 @@
         if (collector == null) throw new ServiceException("采集器信息不能为空");
         collector.setCollectorCode(trimToNull(collector.getCollectorCode()));
         CollectorCandidate candidate = candidateStore.findCollector(collector.getCollectorCode(), Instant.now())
-                .filter(CollectorCandidate::online)
-                .orElseThrow(() -> new ServiceException("请先选择在线的发现候选设备"));
+                .orElseThrow(() -> new ServiceException("请先选择有效的发现候选设备"));
         collector.setIpAddress(candidate.ip());
         collector.setMacAddress(candidate.mac());
         collector.setChannelCount(candidate.channelCount());
@@ -120,7 +119,7 @@
         collector.setDelFlag("0");
         collector.setCreateTime(new Date());
         int rows = collectorMapper.insertCollector(collector);
-        // 登记瞬间同步候选事实,避免正式记录暂时显示为离线且没有最近观测时间。
+        // 登记只确认来源身份,在线与离线事实都按候选原样同步。
         collectorMapper.updateRegisteredObservation(collector.getCollectorCode(),
                 candidate.online() ? "ONLINE" : "OFFLINE");
         return rows;

--
Gitblit v1.7.1