فهرست منبع

Merge remote-tracking branch 'origin/main'

yangliu 4 ماه پیش
والد
کامیت
47af057b27

+ 4 - 4
device-service-application/src/main/java/com/hfln/device/application/service/DeviceSchedulerService.java

@@ -31,7 +31,7 @@ public class DeviceSchedulerService {
      * 定时检查设备保活状态
      * 每30秒执行一次
      */
-    @Scheduled(fixedRate = 30000)
+//    @Scheduled(fixedRate = 30000)
     public void checkDeviceKeepAlive() {
         try {
             log.debug("开始执行设备保活状态检查任务");
@@ -47,7 +47,7 @@ public class DeviceSchedulerService {
      * 定时检查设备告警确认状态
      * 每分钟执行一次
      */
-    @Scheduled(fixedRate = 60000)
+//    @Scheduled(fixedRate = 60000)
     public void checkDeviceAlarmAck() {
         try {
             log.debug("开始执行设备告警确认状态检查任务");
@@ -63,7 +63,7 @@ public class DeviceSchedulerService {
      * 定时检查设备停留时间
      * 每分钟执行一次
      */
-    @Scheduled(fixedRate = 60000)
+//    @Scheduled(fixedRate = 60000)
     public void checkDeviceStayTime() {
         try {
             log.debug("开始执行设备停留时间检查任务");
@@ -78,7 +78,7 @@ public class DeviceSchedulerService {
      * 定时检查设备告警计划
      * 每分钟执行一次
      */
-    @Scheduled(fixedRate = 60000)
+//    @Scheduled(fixedRate = 60000)
     public void checkDeviceAlarmPlan() {
         try {
             log.debug("开始执行设备告警计划检查任务");

+ 13 - 13
device-service-application/src/main/java/com/hfln/device/application/service/impl/DeviceEventServiceImpl.java

@@ -787,11 +787,11 @@ public class DeviceEventServiceImpl implements DeviceEventService {
         device.setKeepaliveTime(System.currentTimeMillis());
         
         // 提取设备基本信息
-        Map<String, Object> deviceBasicInfo = (Map<String, Object>) deviceInfo.get("device_info");
-        if (deviceBasicInfo != null) {
-            device.setDevType((String) deviceBasicInfo.get("device_type"));
-            device.setSoftware((String) deviceBasicInfo.get("firmware"));
-            device.setBluVer((String) deviceBasicInfo.get("blu_ver"));
+//        Map<String, Object> deviceBasicInfo = (Map<String, Object>) deviceInfo.get("device_info");
+        if (deviceInfo != null) {
+            device.setDevType((String) deviceInfo.get("device_type"));
+            device.setSoftware((String) deviceInfo.get("firmware"));
+            device.setBluVer((String) deviceInfo.get("blu_ver"));
         }
         
         // 提取区域信息
@@ -829,16 +829,16 @@ public class DeviceEventServiceImpl implements DeviceEventService {
      * 从登录信息更新设备信息
      */
     private void updateDeviceInfoFromLogin(Device device, Map<String, Object> deviceInfo, Map<String, Object> extRegion, Map<String, Object> sensorLocation) {
-        Map<String, Object> deviceBasicInfo = (Map<String, Object>) deviceInfo.get("device_info");
-        if (deviceBasicInfo != null) {
-            if (deviceBasicInfo.containsKey("device_type")) {
-                device.setDevType((String) deviceBasicInfo.get("device_type"));
+//        Map<String, Object> deviceBasicInfo = (Map<String, Object>) deviceInfo.get("device_info");
+        if (deviceInfo != null) {
+            if (deviceInfo.containsKey("device_type")) {
+                device.setDevType((String) deviceInfo.get("device_type"));
             }
-            if (deviceBasicInfo.containsKey("firmware")) {
-                device.setSoftware((String) deviceBasicInfo.get("firmware"));
+            if (deviceInfo.containsKey("firmware")) {
+                device.setSoftware((String) deviceInfo.get("firmware"));
             }
-            if (deviceBasicInfo.containsKey("blu_ver")) {
-                device.setBluVer((String) deviceBasicInfo.get("blu_ver"));
+            if (deviceInfo.containsKey("blu_ver")) {
+                device.setBluVer((String) deviceInfo.get("blu_ver"));
             }
         }
         

+ 2 - 1
device-service-application/src/main/java/com/hfln/device/application/task/AlarmPlanCheckTask.java

@@ -44,7 +44,8 @@ public class AlarmPlanCheckTask {
                 if (device.getOnline() != null && device.getOnline() == 1) {
                     // 只检查在线设备
                     String deviceId = device.getDevId();
-                    
+
+                    // todo 添加停留事件,告警事件保存  stay_time alarm_event
                     // 检查设备的告警计划
                     List<AlarmPlan> alarmedPlans = alarmPlanService.checkAlarmPlans(deviceId);
                     

+ 2 - 2
device-service-application/src/main/java/com/hfln/device/application/task/DeviceStatusCheckTask.java

@@ -35,7 +35,7 @@ public class DeviceStatusCheckTask {
      * 检查设备保活状态 (参考Python版本的check_dev_keepalive函数)
      * 每30秒执行一次
      */
-    @Scheduled(fixedRate = 30000) // 30秒检查一次
+//    @Scheduled(fixedRate = 30000) // 30秒检查一次
     public void checkDeviceKeepAlive() {
         try {
             long currentTime = System.currentTimeMillis();
@@ -134,7 +134,7 @@ public class DeviceStatusCheckTask {
      * 检查所有设备告警计划 (参考Python版本的check_all_dev_alarm_plan函数)
      * 每分钟执行一次
      */
-    @Scheduled(fixedRate = 60000) // 60秒检查一次
+//    @Scheduled(fixedRate = 60000) // 60秒检查一次
     public void checkAllDeviceAlarmPlan() {
         try {
             Collection<Device> deviceCollection = deviceManagerService.getAllDevicesFromCache();

+ 1 - 1
device-service-infrastructure/src/main/java/com/hfln/device/infrastructure/gateway/MqttGatewayImpl.java

@@ -779,7 +779,7 @@ public class MqttGatewayImpl implements MqttGateway {
             }
             
             // 发送到实时位置主题 (对应Python版本的MQTT主题)
-            String topic = "/mps/realtime_pos";
+            String topic = "/das/realtime_pos";
             publishJson(topic, message);
             
             log.trace("Realtime position message sent: deviceId={}, targetCount={}", 

+ 6 - 6
device-service-infrastructure/src/main/java/com/hfln/device/infrastructure/mqtt/handler/DeviceMessageHandler.java

@@ -164,12 +164,12 @@ public class DeviceMessageHandler {
             
             String deviceId = (String) deviceInfo.get("deviceid");
             
-            // 验证必要字段
-            if (deviceId == null || deviceInfo.get("device_type") == null || 
-                deviceInfo.get("firmware") == null || deviceInfo.get("device_ip") == null) {
-                log.warn("Invalid device login message, missing required fields: {}", payload);
-                return;
-            }
+//            // 验证必要字段
+//            if (deviceId == null || deviceInfo.get("device_type") == null ||
+//                deviceInfo.get("firmware") == null || deviceInfo.get("device_ip") == null) {
+//                log.warn("Invalid device login message, missing required fields: {}", payload);
+//                return;
+//            }
             
             log.info("Device {} attempting to login with info: {}", deviceId, deviceInfo);
             

+ 6 - 6
device-service-infrastructure/src/main/java/com/hfln/device/infrastructure/mqtt/handler/MpsMessageHandler.java

@@ -309,12 +309,12 @@ public class MpsMessageHandler {
             }
             
             // 验证安装平面类型
-            if (!"ceiling".equals(mountingPlain) && !"wall".equals(mountingPlain) && 
-                !"table".equals(mountingPlain) && !"floor".equals(mountingPlain)) {
-                log.warn("Invalid mounting plain for device {}: {} (acceptable: ceiling/wall/table/floor)", 
-                        devId, mountingPlain);
-                return;
-            }
+//            if (!"ceiling".equals(mountingPlain) && !"wall".equals(mountingPlain) &&
+//                !"table".equals(mountingPlain) && !"floor".equals(mountingPlain)) {
+//                log.warn("Invalid mounting plain for device {}: {} (acceptable: ceiling/wall/table/floor)",
+//                        devId, mountingPlain);
+//                return;
+//            }
             
             // 提取area坐标并构建area_str
             Number startX = (Number) area.get("start_x");