From e6ca7ead72de88017eb786fbfc5d8450b8164878 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 26 九月 2022 18:28:54 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java
index 6f53bd6..527dcc1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java
@@ -4,7 +4,6 @@
 import cn.hutool.core.util.StrUtil;
 import com.sandu.ximon.admin.manager.iot.frame.inner.BaseResponseInnerFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils;
-import com.sandu.ximon.admin.utils.LogUtils;
 import lombok.Data;
 import lombok.ToString;
 
@@ -29,8 +28,10 @@
 
     @Override
     public A5LightErrorCodeReportInnerFrame transformFrame(String hex) {
-        if (StrUtil.isBlank(hex)) {
+        if (StrUtil.isBlank(hex) || hex.length() != 24) {
+            System.out.println("hex is blank or length is not 24");
             return null;
+
         }
         // MQTT閫氫俊鏂瑰紡(1)
         setConnectType(hex.substring(0, 2));
@@ -43,12 +44,12 @@
 
         String errorCodeHex = hex.substring(12, 16);
         errorCode = HexUtil.hexToInt(errorCodeHex);
-        System.out.println("鏁呴殰鐮侊細"+ errorCodeHex +" - " + errorCode);
+        System.out.println("鏁呴殰鐮侊細" + errorCodeHex + " - " + errorCode);
 
         setCrc32(hex.substring(hex.length() - 8));
         //  鏍¢獙CRC32
-        String frame = getFunctionCode() + getPayloadLength() + getDestinationAddress() + getErrorCode();
-        this.setValidate(CRC32Utils.validateFrame(hex.substring(2, hex.length() - 8), getCrc32()));
+        String frame = getFunctionCode() + getPayloadLength() + getDestinationAddress() + errorCodeHex;
+        this.setValidate(CRC32Utils.validateFrame(frame, getCrc32()));
         return this;
     }
 }

--
Gitblit v1.9.3