From ff458109478abbc015d93d6b48a323e0d23fa94e Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期日, 30 八月 2026 01:25:56 +0800
Subject: [PATCH] 实现测试控制台双状态实时流

---
 ruoyi-admin/src/main/java/com/ruoyi/config/RedisDeviceDiscoveryCandidateStore.java |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/config/RedisDeviceDiscoveryCandidateStore.java b/ruoyi-admin/src/main/java/com/ruoyi/config/RedisDeviceDiscoveryCandidateStore.java
index 2ae2407..ea09421 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/config/RedisDeviceDiscoveryCandidateStore.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/config/RedisDeviceDiscoveryCandidateStore.java
@@ -13,6 +13,7 @@
 import com.ruoyi.device.discovery.DeviceDiscoveryCandidateStore;
 import com.ruoyi.device.model.ChannelIdentity;
 import com.ruoyi.device.model.DeviceWorkStatus;
+import com.ruoyi.device.model.RealtimeSnapshot;
 
 /** 保存发现候选和实时状态;条目按 expiresAt 逻辑过期,Redis key 本身不设短 TTL。 */
 @Component
@@ -138,8 +139,9 @@
         ChannelIdentity channelIdentity = new ChannelIdentity(identity.getString("adapterCode"),
                 identity.getIntValue("devtype"), identity.getIntValue("devid"),
                 identity.getIntValue("subdevid"), identity.getIntValue("chlid"));
+        RealtimeSnapshot latestSnapshot = object.getObject("latestSnapshot", RealtimeSnapshot.class);
         return new ChannelCandidate(channelIdentity, object.getBooleanValue("online"),
-                DeviceWorkStatus.valueOf(object.getString("workStatus")), requiredInstant(object, "observedAt"));
+                DeviceWorkStatus.valueOf(object.getString("workStatus")), requiredInstant(object, "observedAt"), latestSnapshot);
     }
 
     private CollectorCandidate collectorCandidate(Object value)

--
Gitblit v1.7.1