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