lifang 3 weeks ago
parent
commit
60a5661d9e

+ 6 - 2
nb-core/src/main/java/com/nb/core/controller/MqttMessageController.java

@@ -1,5 +1,7 @@
 package com.nb.core.controller;
 
+import cn.hutool.core.util.HexUtil;
+import cn.hutool.json.JSONUtil;
 import com.nb.core.entity.MqttMessage;
 import com.nb.core.result.R;
 import com.nb.core.service.MqttMessageProcessService;
@@ -44,10 +46,12 @@ public class MqttMessageController {
             if(MqttClientUtil.CLIENT_ID.equals(clientId)){
                 return R.fail("本节点发出的数据不予处理");
             }
-            
             // 打印评价人和评价信息日志
             logEvaluationInfo(message);
-            
+            message.setPayload(HexUtil.decodeHexStr(message.getPayload()));
+            if(!JSONUtil.isJson(message.getPayload())){
+                throw new RuntimeException("格式错误");
+            }
             messageProcessService.processMessage(message);
             return R.success("消息处理成功");
         } catch (Exception e) {

+ 2 - 1
nb-core/src/main/java/com/nb/core/utils/MqttClientUtil.java

@@ -1,5 +1,6 @@
 package com.nb.core.utils;
 
+import cn.hutool.core.util.HexUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
 import com.nb.core.entity.MqttMessage;
@@ -102,7 +103,7 @@ public class MqttClientUtil implements ApplicationContextAware {
             }
             
             // 创建消息实体
-            MqttMessage message = new MqttMessage(topic, JSONUtil.toJsonStr(payload));
+            MqttMessage message = new MqttMessage(topic, HexUtil.encodeHexStr(JSONUtil.toJsonStr(payload)));
             message.setClientId(CLIENT_ID);
             
             MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler(CLIENT_ID, mqttClientFactory);