From 250e06806354179fccbae86fd7738f9f0ae80816 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 28 九月 2022 15:10:40 +0800
Subject: [PATCH] fix
---
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5LightDataEnum.java | 2 +
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportErrorService.java | 35 +++++++++++++++++
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java | 7 +++
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/A5LightCleanErrorCodeInnerFrame.java | 26 +++++++++++++
4 files changed, 69 insertions(+), 1 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
index 32ddc22..9982a80 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
@@ -61,9 +61,14 @@
A5LightErrorCodeReportInnerFrame codeRespInnerFrame = new A5LightErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
log.info(codeRespInnerFrame.isValidate() + "鏄惁閫氳繃鏍¢獙");
log.info(codeRespInnerFrame.getErrorCode() + "鏁呴殰鐮�");
- if (codeRespInnerFrame.isValidate() && (codeRespInnerFrame.getErrorCode() != 0)) {
+ if (codeRespInnerFrame.isValidate()) {
SpringContextHolder.getBean(LightReportErrorService.class).saveReportError(deviceName, codeRespInnerFrame);
}
+ //0000 琛ㄧず娌℃湁鏁呴殰锛屽彂閫佹竻闄ゆ晠闅滄寚浠�
+ if (codeRespInnerFrame.getErrorCode() == 0) {
+ System.out.println("娓呴櫎鏁呴殰鎿嶄綔!");
+ SpringContextHolder.getBean(LightReportErrorService.class).cleanErrorCode(deviceName, codeRespInnerFrame.getDestinationAddress());
+ }
}
}
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/A5LightCleanErrorCodeInnerFrame.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/A5LightCleanErrorCodeInnerFrame.java
new file mode 100644
index 0000000..ebef290
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/A5LightCleanErrorCodeInnerFrame.java
@@ -0,0 +1,26 @@
+package com.sandu.ximon.admin.manager.iot.frame.inner.request;
+
+import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5LightDataEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.MQTTConnectTypeEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils;
+
+/**
+ * A5->01->29 鏁呴殰鐮佷笂鎶ユ竻闄�
+ */
+public class A5LightCleanErrorCodeInnerFrame implements IRequestInnerFrame {
+ //鐏ご鍦板潃
+ private String payload;
+
+ public A5LightCleanErrorCodeInnerFrame(String address) {
+ this.payload = address;
+ }
+
+ @Override
+ public String getEncodeFrame() {
+ String functionCode = A5LightDataEnum.LightCleanErrorCode.getCode();
+ String payloadLength = "0002";
+ String frame = functionCode + payloadLength + payload;
+ return MQTTConnectTypeEnum.SYNCHRONIZATION.getCode() + frame.toUpperCase() + CRC32Utils.getCRC32(frame.toUpperCase());
+ }
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5LightDataEnum.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5LightDataEnum.java
index 06987c8..2b25b7c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5LightDataEnum.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/enums/A5LightDataEnum.java
@@ -19,6 +19,8 @@
LightTimer("23"),
// 娓呴櫎鍗曠伅绱鏁版嵁
LightReset("25"),
+ //鏁呴殰鐮佷笂鎶ユ竻闄�
+ LightCleanErrorCode("29"),
//璁剧疆鏃ュ巻锛堝悓蹇冭烦鍖呬腑鐨�6瀛楄妭鏃ユ湡鏃堕棿锛�
SetCalendar("28"),
LIGHT_HEART_BEAT("LightReportData:light_heart_beat/");
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportErrorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportErrorService.java
index 113438f..064ac73 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportErrorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportErrorService.java
@@ -1,14 +1,25 @@
package com.sandu.ximon.admin.service;
import com.github.pagehelper.PageHelper;
+import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3QueryReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightErrorCodeReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightOperationReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.A5LightCleanErrorCodeInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.C3QueryAddressReqInnerFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.LightErrorEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.LightReportErrorBo;
import com.sandu.ximon.dao.domain.LightReportError;
import com.sandu.ximon.dao.mapper.LightReportErrorMapper;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -17,6 +28,7 @@
* @author chenjiantian
* @date 2021/12/17 17:47
*/
+@Slf4j
@Service
public class LightReportErrorService extends BaseServiceImpl<LightReportErrorMapper, LightReportError> {
@@ -24,6 +36,7 @@
LightReportError lightReportError = new LightReportError();
lightReportError.setDeviceCode(deviceName);
lightReportError.setErrorCode(codeRespInnerFrame.getErrorCode());
+ lightReportError.setLightAddress(codeRespInnerFrame.getDestinationAddress());
save(lightReportError);
}
@@ -74,4 +87,26 @@
return lightReportErrorBos;
}
+ /**
+ * 娓呴櫎鏁呴殰鐮�
+ *
+ * @param deviceName
+ * @param address
+ */
+ public void cleanErrorCode(String deviceName, String address) {
+ A5LightCleanErrorCodeInnerFrame a5LightCleanErrorCodeInnerFram = new A5LightCleanErrorCodeInnerFrame(address);
+
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_LIGHT_DATA.getCode(), a5LightCleanErrorCodeInnerFram);
+ System.out.println(a5Frame + " -----a5Frame");
+
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+ StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鍗曠伅甯�-鍗曠伅鏁呴殰娓呴櫎", a5Frame, commonFrame);
+
+ System.out.println(commonFrame + " -----commonFrame");
+ A5LightOperationReportInnerFrame operationReportInnerFrame = new A5LightOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+ if (operationReportInnerFrame.isValidate()) {
+ log.error("娓呴櫎鏁呴殰鐮佹垚鍔燂紝code锛�" + deviceName + "锛岀伅澶村湴鍧�锛�" + address);
+ }
+ }
}
+
--
Gitblit v1.9.3