From ef270bd1855b5ce3f398c5df024840a498e33a8f Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期四, 31 三月 2022 14:09:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightPoleHeelingOperationReportInnerFrame.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightPoleHeelingOperationReportInnerFrame.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightPoleHeelingOperationReportInnerFrame.java
new file mode 100644
index 0000000..c102a99
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5LightPoleHeelingOperationReportInnerFrame.java
@@ -0,0 +1,72 @@
+package com.sandu.ximon.admin.manager.iot.frame.inner.report;
+
+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 lombok.Data;
+import lombok.ToString;
+
+/**
+ * @author ZZQ
+ * @date 2022/3/14 16:36
+ */
+@Data
+@ToString(callSuper = true)
+public class A5LightPoleHeelingOperationReportInnerFrame extends BaseResponseInnerFrame<A5LightPoleHeelingOperationReportInnerFrame> {
+    //MAC鍦板潃
+    private String mac;
+    //鍝嶅簲鐘舵��
+    // 0x00	鎴愬姛
+    // 0x01	鏍¢獙鐮侀敊璇�
+    // 0x02	闀垮害閿欒
+    // 0x03	鍐橣lash澶辫触閿欒
+    // 0xFF	鍏朵粬閿欒
+
+    private String state;
+
+    @Override
+    public A5LightPoleHeelingOperationReportInnerFrame transformFrame(String hex) {        //  闀垮害涓嶄竴鑷存椂锛岃繑鍥瀗ull
+        if (StrUtil.isBlank(hex)) {
+            return null;
+        }
+        // MQTT閫氫俊鏂瑰紡(1)
+        setConnectType(hex.substring(0, 2));
+        //  鍔熻兘鐮�(1)
+        setFunctionCode(hex.substring(2, 4));
+        //  璐熻嵎闀垮害(2)
+        setPayloadLength(hex.substring(4, 8));
+        //MAC鍦板潃
+        setMac(hex.substring(8, 12));
+        //纭欢浜や簰鍝嶅簲缁撴灉
+        setState(returnState(hex.substring(12, 14)));
+
+        setCrc32(hex.substring(hex.length() - 8));
+        //  鏍¢獙CRC32
+        String frame = hex.substring(2, hex.length() - 8);
+        this.setValidate(CRC32Utils.validateFrame(frame, getCrc32()));
+        return this;
+    }
+
+    public String returnState(String stateCode) {
+        String State = "";
+        switch (stateCode) {
+            case "00":
+                State = "鎿嶄綔鎴愬姛";
+                break;
+            case "01":
+                State = "鏍¢獙鐮侀敊璇�";
+                break;
+            case "02":
+                State = "闀垮害閿欒";
+                break;
+            case "03":
+                State = "鍐橣lash澶辫触閿欒";
+                break;
+            case "FF":
+                State = "鍏朵粬閿欒";
+                break;
+            default:
+        }
+        return State;
+    }
+}

--
Gitblit v1.9.3