From 09afe52c3ef2a09055fb621b25aa5416394a5382 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 14 十月 2022 16:59:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightErrorCodeReportInnerFrame.java |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 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 5a44b37..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
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.manager.iot.frame.inner.report;
 
+import cn.hutool.core.util.HexUtil;
 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;
@@ -23,12 +24,14 @@
     /**
      * 鏁呴殰鐮�
      */
-    private String errorCode;
+    private int errorCode;
 
     @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));
@@ -39,10 +42,13 @@
 
         setDestinationAddress(hex.substring(8, 12));
 
-        setErrorCode(hex.substring(12, 16));
+        String errorCodeHex = hex.substring(12, 16);
+        errorCode = HexUtil.hexToInt(errorCodeHex);
+        System.out.println("鏁呴殰鐮侊細" + errorCodeHex + " - " + errorCode);
+
         setCrc32(hex.substring(hex.length() - 8));
         //  鏍¢獙CRC32
-        String frame = getFunctionCode() + getPayloadLength() + getDestinationAddress() + getErrorCode();
+        String frame = getFunctionCode() + getPayloadLength() + getDestinationAddress() + errorCodeHex;
         this.setValidate(CRC32Utils.validateFrame(frame, getCrc32()));
         return this;
     }

--
Gitblit v1.9.3