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