From 4e76b9737e036c18e8a9e840dc443615ffcec348 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 20 十月 2022 12:20:18 +0800
Subject: [PATCH] 大气农耕
---
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MQTTTestController.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MQTTTestController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MQTTTestController.java
index dd2929e..f4a8413 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MQTTTestController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MQTTTestController.java
@@ -1,13 +1,22 @@
package com.sandu.ximon.admin.controller;
+import cn.hutool.core.util.HexUtil;
import com.github.pagehelper.util.StringUtil;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.manager.iot.frame.A1Frame;
+import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
+import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
+import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.A1TernaryCodeReqInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.MainBoardDataTransparentReqInnerFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonRequest;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.InvokeParam;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A1OrderEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.param.MQTTTestPrarm;
import com.sandu.ximon.admin.security.PermissionConfig;
@@ -16,6 +25,11 @@
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,7 +52,6 @@
*
* @return
*/
- @AnonymousAccess
@PostMapping("/sendRRPC")
public ResponseVO<Object> sendRRPC(@RequestBody @Validated MQTTTestPrarm mqttTestPrarm) {
/**
@@ -64,9 +77,47 @@
param.setOperate("1001");
param.setFrame(mqttTestPrarm.getFrameStr());
CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(pole.getDeviceCode(), param);
- if (commonFrame == null) {
- throw new BusinessException("璇锋眰澶辫触锛岃閲嶆柊璇锋眰");
+ if (commonFrame == null || !commonFrame.isValidate()) {
+ throw new BusinessException("鍝嶅簲鏁版嵁鏍¢獙澶辫触锛岃閲嶆柊璇锋眰鏁版嵁锛�");
}
- return ResponseUtil.success(commonFrame);
+ String value = commonFrame.getConnectType() + commonFrame.getFunctionCode()
+ + commonFrame.getOrderType() + commonFrame.getPayloadLength()
+ + commonFrame.getPayload() + commonFrame.getCrc32();
+ Map map = new LinkedHashMap();
+ map.put("frame", value);
+ return ResponseUtil.success(map);
+ }
+
+ @PostMapping("/transparentFrame")
+ public ResponseVO<Object> transparentFrame(@RequestBody @Validated CommonRequest commonRequest) {
+ boolean isAscii = commonRequest.getAscii().equals(0) ? false : true;
+ Pole pole = SpringContextHolder.getBean(PoleService.class).getById(commonRequest.getPoleID());
+ if (pole == null) {
+ throw new BusinessException("鐏潌涓嶅瓨鍦紒");
+ }
+ if (StringUtil.isEmpty(pole.getDeviceCode())) {
+ throw new BusinessException("鐏潌MAC涓嶈兘涓虹┖锛�");
+ }
+
+ MainBoardDataTransparentReqInnerFrame mainBoardDataTransparentReqInnerFrame = new MainBoardDataTransparentReqInnerFrame(commonRequest.getFrame(), isAscii);
+ A1Frame a1Frame = new A1Frame(A1OrderEnum.TRANSPARENT.getCode(), mainBoardDataTransparentReqInnerFrame);
+ System.out.println("a1Frame:" + a1Frame.getEncodeFrame());
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(pole.getDeviceCode(), a1Frame);
+
+ if (null == commonFrame) {
+ throw new BusinessException("涓绘澘鏃犲搷搴�!");
+ }
+ if (commonFrame == null || !commonFrame.isValidate()) {
+ throw new BusinessException("鍝嶅簲鏁版嵁鏍¢獙澶辫触锛岃閲嶆柊璇锋眰鏁版嵁锛�");
+ }
+ String value = commonFrame.getConnectType() + commonFrame.getFunctionCode()
+ + commonFrame.getOrderType() + commonFrame.getPayloadLength()
+ + commonFrame.getPayload() + commonFrame.getCrc32();
+ Map map = new LinkedHashMap();
+ map.put("frame", value);
+ map.put("data", HexUtil.decodeHexStr(commonFrame.getPayload()));
+ System.out.println(HexUtil.decodeHexStr(commonFrame.getPayload()));
+
+ return ResponseUtil.success(map);
}
}
--
Gitblit v1.9.3