From 907f9314657fd0554fecda06e919b98768b0aeea Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 11 十月 2023 18:00:56 +0800
Subject: [PATCH] 2023年10月11日18:00:50

---
 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java |   44 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
index 9fc5d40..549d298 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
@@ -21,6 +21,8 @@
 import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
 
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
@@ -112,7 +114,7 @@
                         /**
                          * 鍙兘杩斿洖code灞炴�у彲鑳芥病鏈�   娌℃湁鐨勮瘽鐩存帴鎴愬姛  鏈夌殑璇濆彧鏈�200鎵嶄細鎴愬姛
                          */
-                        if (code == null || code.intValue() == 200 || code.intValue() == 0) {
+                        if (code == null || code == 200 || code == 0) {
                             notifySucceed(msg);
                         } else {
                             notifyFailure(ErrorUtils.getByCode(code));
@@ -332,12 +334,20 @@
                                     if (MqttRecvClient.getInstance() != null) {
                                         MqttRecvClient.getInstance().send(requestTopic, encryBytes);
                                     }
-                                    LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + new String(linkRequest.getCloudSendBytes()));
+                                    if (HDLConnectHelper.isInverterTopic(linkRequest.getCloudTopic())) {
+                                        LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getCloudSendBytes())));
+                                    } else {
+                                        LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + new String(linkRequest.getCloudSendBytes()));
+                                    }
                                 }
                                 //鏈湴TCP
                                 else {
                                     if (!linkRequest.getTopic().endsWith("heartbeat")) {//蹇冭烦涓婚鏁版嵁杩囧锛岃繃婊や笅
-                                        LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + new String(linkRequest.getSendBytes()));
+                                        if (HDLConnectHelper.isInverterTopic(linkRequest.getTopic())) {
+                                            LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getSendBytes())));
+                                        } else {
+                                            LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + new String(linkRequest.getSendBytes()));
+                                        }
                                     }
                                     HDLTcpConnect.getTcpSocketBoot(ipAddress).sendMsg(EncryptUtil.getEncryBytes(linkRequest));
                                 }
@@ -408,6 +418,7 @@
         }
     }
 
+
     /**
      * 鏀寔姣背绫诲瀷
      *
@@ -433,4 +444,31 @@
             listener = null;
         }
     }
+
+
+    public static boolean isInverterTopic(String topic) {
+        if (TextUtils.isEmpty(topic)) {
+            return false;
+        }
+        return topic.endsWith("custom/native/inverter/down_reply")
+                || topic.endsWith("custom/native/inverter/down")
+                || topic.endsWith("custom/native/inverter/up");
+    }
+
+    /**
+     * byte鏁扮粍杞崲鎴恑nt鏁扮粍(涓轰簡鎵撳嵃鍑烘棤绗﹀彿鐨刡tye鏁扮粍鏁版嵁)
+     *
+     * @param bytes 鏁扮粍
+     * @return
+     */
+    public static Integer[] byteArrayConvertIntArray(byte[] bytes) {
+        if (bytes == null || bytes.length == 0) {
+            return new Integer[]{};
+        }
+        Integer[] arr = new Integer[bytes.length];
+        for (int i = 0; i < bytes.length; i++) {
+            arr[i] = bytes[i] & 0xff;
+        }
+        return arr;
+    }
 }

--
Gitblit v1.8.0