yeg
2026-08-26 a9e3435464f86a50ffa81a16ef92e47734adef6e
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceAdapterServiceImpl.java
@@ -54,9 +54,11 @@
    }
    @Override
    /** 按管理端筛选条件查询适配器及其运行状态。 */
    public List<TDeviceAdapter> selectList(TDeviceAdapter query) { return mapper.selectDeviceAdapterList(query); }
    @Override
    /** 查询适配器详情;实例不存在时抛出稳定业务错误。 */
    public TDeviceAdapter selectById(Long adapterId)
    {
        TDeviceAdapter adapter = mapper.selectDeviceAdapterById(adapterId);
@@ -65,6 +67,7 @@
    }
    @Override
    /** 新增默认禁用的只读适配器配置。 */
    public int insert(TDeviceAdapter adapter)
    {
        normalizeAndValidate(adapter);
@@ -79,6 +82,7 @@
    }
    @Override
    /** 更新配置;已启用实例会同步运行时注册表。 */
    public int update(TDeviceAdapter adapter)
    {
        TDeviceAdapter current = selectById(adapter.getAdapterId());
@@ -95,6 +99,7 @@
    }
    @Override
    /** 启停适配器并同步其运行时实例。 */
    public int changeStatus(Long adapterId, boolean enabled, String updateBy)
    {
        TDeviceAdapter adapter = selectById(adapterId);
@@ -107,6 +112,7 @@
    }
    @Override
    /** 执行一次发现和实时观测,并事务性写入通道事实。 */
    public AdapterDiscoveryResult discover(Long adapterId)
    {
        TDeviceAdapter adapter = selectById(adapterId);
@@ -140,6 +146,7 @@
    }
    @Override
    /** 查询指定适配器已发现且未删除的通道。 */
    public List<TDetectionChannel> selectChannels(Long adapterId)
    {
        selectById(adapterId);
@@ -147,12 +154,14 @@
    }
    @Override
    /** 启动时恢复所有已启用适配器的运行时注册。 */
    public void synchronizeEnabledAdapters()
    {
        mapper.selectEnabledDeviceAdapters().forEach(adapter -> registry.synchronize(toRuntimeConfig(adapter)));
    }
    @Override
    /** 轮询达到周期的已启用适配器,并持久化失败状态后继续调度。 */
    public void pollDueAdapters()
    {
        Instant now = Instant.now();