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