浏览代码

feat:研发中心AI摄像头适配,同步兼容大华摄像头

lihao16 3 月之前
父节点
当前提交
e4d6ec8451

+ 1 - 1
elevator-hn-adapter/src/main/java/com/inspur/elevator/bean/DhLiftFault.java

@@ -13,7 +13,7 @@ import java.util.List;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class DhLiftFault {
+public class DhLiftFault extends DhMsgBase{
 
     /**
      * 故障编号:

+ 1 - 1
elevator-hn-adapter/src/main/java/com/inspur/elevator/config/MqttPublishConfig.java

@@ -24,7 +24,7 @@ public class MqttPublishConfig {
     @Value("${mqtt.client-id:client-01}")
     private String clientId;
 
-    @Value("${mqtt.qos-dahua:1}")
+    @Value("${mqtt.qos-dahua:0}")
     private Integer qosDahua;
 
     @Value("${mqtt.client-id-dahua:client-01}")

+ 6 - 2
elevator-hn-adapter/src/main/java/com/inspur/elevator/mq/MqttMsgSubscribe.java

@@ -78,25 +78,29 @@ public class MqttMsgSubscribe implements MessageHandler {
     private void handleDhMessage(String payload, String topic) {
         logger.info("大华消息处理开始:{}", payload);
         try {
-            String msgType = topic.split("/")[5];
-            String deviceSn = topic.split("/")[4];
+            String msgType = topic.split("/")[4];
+            String deviceSn = "";
             if (StringUtils.isNotBlank(msgType)) {
                 switch (msgType) {
                     // 根据CMD类型,分别处理消息
                     case DhMsgBase.CMD_HEARTBEAT:
                         DhHeartbeat heartbeat = JSON.parseObject(payload, DhHeartbeat.class);
+                        deviceSn = heartbeat.getMacAddr();
                         asyncTaskService.handleDhHeartbeatMsg(heartbeat, deviceSn);
                         break;
                     case DhMsgBase.CMD_ALARM_REPORT:
                         DhLiftFault faultMsg = JSON.parseObject(payload, DhLiftFault.class);
+                        deviceSn = faultMsg.getMacAddr();
                         asyncTaskService.handleDhAlarmMsg(faultMsg, deviceSn);
                         break;
                     case DhMsgBase.CMD_ELEINFO_REPORT:
                         DhLiftState stateMsg = JSON.parseObject(payload, DhLiftState.class);
+                        deviceSn = stateMsg.getMacAddr();
                         asyncTaskService.handleDhEleInfoMsg(stateMsg, deviceSn);
                         break;
                     case DhMsgBase.CMD_STATISTICS_SINGLE_DATA_REPORT:
                         DhRunInfo runInfoMsg = JSON.parseObject(payload, DhRunInfo.class);
+                        deviceSn = runInfoMsg.getMacAddr();
                         asyncTaskService.handleDhSingleDataMsg(runInfoMsg, deviceSn);
                         break;
                     default:

+ 2 - 2
elevator-hn-adapter/src/main/resources/application.yml

@@ -56,13 +56,13 @@ mqtt:
   # 订阅主题 海纳云
   receive-topic: CAMERA_SRV_TOPIC/+
   # 订阅主题 大华
-  receive-topic-dahua: /API/V1/Up/+/+
+  receive-topic-dahua: /API/V1/Up/+
   # 发送主题
   send-topic: CAMERA_CLIENT_TOPIC/{sn}
   # qos 海纳云
   qos: 2
   # qos 大华
-  qos-dahua: 1
+  qos-dahua: 0
   # 海纳云 client id
   client-id: HN-ADAPTER-
   # 大华 client id