yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
battery-business/src/main/java/com/battery/business/service/impl/DeviceAdapterServiceImpl.java
@@ -35,10 +35,18 @@
    private static final String DISABLED = "1";
    private static final String READ_ONLY_CAPABILITIES =
            "{\"discovery\":true,\"realtimeObservation\":true,\"historyDownload\":true,\"control\":false}";
    /** 适配器类型按存储形态划分;BTS 保留给开发模拟器与将来的协议路线(ADR-0065)。 */
    private static final List<String> SUPPORTED_TYPES = List.of("BTS", "NEWARE_MYSQL");
    /** 直连厂商存储的来源,其通道登记清单是长期事实,候选不按时间过期。 */
    private static final List<String> PERSISTENT_CANDIDATE_TYPES = List.of("NEWARE_MYSQL");
    /**
     * 适配器类型按存储形态划分;BTS 保留给开发模拟器与将来的协议路线(ADR-0065)。
     * `NEWARE_MYSQL` 只能写字面量:battery-business 不依赖 battery-device-neware,
     * 拿不到那边的常量;推式来源的实现就在本模块,所以用它的常量。
     */
    private static final List<String> SUPPORTED_TYPES = List.of("BTS", "NEWARE_MYSQL", PushIngestAdapter.ADAPTER_TYPE);
    /**
     * 通道清单长期存在的来源,候选不按时间过期:直连厂商存储的来源读的是厂商的登记表,
     * 推式来源读的是取数程序上报的拓扑——两者都不是"轮询发现"的结果。
     */
    private static final List<String> PERSISTENT_CANDIDATE_TYPES =
            List.of("NEWARE_MYSQL", PushIngestAdapter.ADAPTER_TYPE);
    private final TDeviceAdapterMapper mapper;
    private final DeviceAdapterRegistry registry;