chenyi406 преди 2 години
родител
ревизия
eb860a6136
променени са 2 файла, в които са добавени 5 реда и са изтрити 3 реда
  1. 4 1
      src/main/java/com/zy/omp/common/Constant.java
  2. 1 2
      src/main/java/com/zy/omp/service/MqttLogService.java

+ 4 - 1
src/main/java/com/zy/omp/common/Constant.java

@@ -36,10 +36,13 @@ public class Constant {
      */
     public static final String TOPIC_REGISTER_SERVER = "$regdtx";
     public static final String TOPIC_REGISTER_CLIENT = "$regdrx";
-    public static final String TOPIC_DEVICE_SERVER = "$dtx/";
+    public static final String TOPIC_DEVICE_SERVER = "$dtx/OMP";
     public static final String TOPIC_DEVICE_CLIENT = "$drx/OMP";
 
     public static String getTopic(String openNum) {
+        if (openNum.equals("76f7c742428b4720b363d95d8292b357")) {
+            return "$drx/" + openNum;
+        }
         return TOPIC_DEVICE_CLIENT + openNum;
     }
 }

+ 1 - 2
src/main/java/com/zy/omp/service/MqttLogService.java

@@ -64,8 +64,7 @@ public class MqttLogService extends ServiceImpl<MqttLogMapper, MqttLog> {
         //获取消息解析对象
         MqttMsgDto mqttMsgDto = MqttMsgDto.parse(payload);
         //注册报文与普通报文不同,注册报文取设备随机码
-        String[] topicSplit = topic.split("/");
-        String deviceId = topicSplit.length > 1 ? topicSplit[1] : null;
+        String deviceId = mqttMsgDto.getOpenNum();
         entity.setDeviceId(registerSet.contains(topic) ? mqttMsgDto.getString("regnum") : deviceId);
         //mqtt 指令
         entity.setInstruction(mqttMsgDto.getM());