diff --git a/viewsh-module-iot/viewsh-module-iot-server/src/main/java/com/viewsh/module/iot/service/device/property/IotDevicePropertyServiceImpl.java b/viewsh-module-iot/viewsh-module-iot-server/src/main/java/com/viewsh/module/iot/service/device/property/IotDevicePropertyServiceImpl.java index 9dce672..7775fbf 100644 --- a/viewsh-module-iot/viewsh-module-iot-server/src/main/java/com/viewsh/module/iot/service/device/property/IotDevicePropertyServiceImpl.java +++ b/viewsh-module-iot/viewsh-module-iot-server/src/main/java/com/viewsh/module/iot/service/device/property/IotDevicePropertyServiceImpl.java @@ -85,14 +85,8 @@ public class IotDevicePropertyServiceImpl implements IotDevicePropertyService { @Resource private IntegrationEventPublisher integrationEventPublisher; - @Resource - private com.viewsh.module.iot.service.rule.clean.processor.TrafficThresholdRuleProcessor trafficThresholdRuleProcessor; - - @Resource - private com.viewsh.module.iot.service.rule.clean.processor.BeaconDetectionRuleProcessor beaconDetectionRuleProcessor; - - @Resource - private com.viewsh.module.iot.service.rule.clean.processor.ButtonEventRuleProcessor buttonEventRuleProcessor; + // 注意:保洁规则处理器已迁移到独立的消息订阅者 IotCleanRuleMessageHandler + // 不再在此同步调用,避免阻塞属性保存主流程 // ========== 设备属性相关操作 ========== @@ -180,45 +174,14 @@ public class IotDevicePropertyServiceImpl implements IotDevicePropertyService { IotDevicePropertyDO.builder().value(entry.getValue()).updateTime(message.getReportTime()).build()); deviceDataRedisDAO.putAll(device.getId(), properties2); - // 2.3 调用规则处理器(保洁工单集成) - processRuleProcessors(device, properties); + // 注意:保洁规则处理已迁移到独立消息订阅者 IotCleanRuleMessageHandler + // 通过订阅同一消息总线的 Topic 异步处理,不再阻塞属性保存主流程 - // 2.4 发布属性消息到 Redis Stream(供其他模块如 Ops 订阅) + // 2.3 发布属性消息到 Redis Stream(供其他模块如 Ops 订阅) // TODO: 暂停发布,后续根据需要开启 // publishPropertyMessage(device, properties, message.getReportTime()); } - /** - * 处理规则处理器(保洁工单集成) - *
- * 在设备属性上报处理流程中调用,检测是否满足工单创建/到岗/完成条件
- *
- * @param device 设备信息
- * @param properties 属性数据
- */
- private void processRuleProcessors(IotDeviceDO device, Map