yeg
6 天以前 a04222c873e5e55f48c8d33b5c0bc46fa524ac8d
battery-device-api/src/main/java/com/battery/device/api/discovery/DeviceDiscoveryCandidateStore.java
@@ -64,22 +64,33 @@
        }
    }
    /** 通道候选;{@code lastDataAt} 是该通道来源里最近一次采样行的设备时间。 */
    /**
     * 通道候选;{@code lastDataAt} 是该通道来源里最近一次采样行的设备时间。
     * {@code sourceDisplayNo} 是来源自己的通道叫法(见 {@code DetectedChannel}),
     * 只用于界面与登记显示,不参与通道身份。
     */
    record ChannelCandidate(ChannelIdentity identity, boolean online, DeviceWorkStatus workStatus,
            Instant observedAt, RealtimeSnapshot latestSnapshot, Instant lastDataAt)
            Instant observedAt, RealtimeSnapshot latestSnapshot, Instant lastDataAt, String sourceDisplayNo)
    {
        /** 兼容仅有状态的旧发现候选。 */
        public ChannelCandidate(ChannelIdentity identity, boolean online, DeviceWorkStatus workStatus,
                Instant observedAt)
        {
            this(identity, online, workStatus, observedAt, null, null);
            this(identity, online, workStatus, observedAt, null, null, null);
        }
        /** 兼容不含最近数据时间的既有候选。 */
        public ChannelCandidate(ChannelIdentity identity, boolean online, DeviceWorkStatus workStatus,
                Instant observedAt, RealtimeSnapshot latestSnapshot)
        {
            this(identity, online, workStatus, observedAt, latestSnapshot, null);
            this(identity, online, workStatus, observedAt, latestSnapshot, null, null);
        }
        /** 兼容不带来源通道叫法的既有候选。 */
        public ChannelCandidate(ChannelIdentity identity, boolean online, DeviceWorkStatus workStatus,
                Instant observedAt, RealtimeSnapshot latestSnapshot, Instant lastDataAt)
        {
            this(identity, online, workStatus, observedAt, latestSnapshot, lastDataAt, null);
        }
    }