From 1213ddfaad5fbc7a51741b4f8612855866327487 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 08 九月 2022 11:52:37 +0800
Subject: [PATCH] 充电桩
---
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java | 196 ++++++++++++++++++++++++------------------------
1 files changed, 99 insertions(+), 97 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
index 7b2a3a5..aec136d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
@@ -50,111 +50,116 @@
@Override
public void process(String productKey, String deviceName, CommonFrame frame) {
- String functionCode = frame.getPayload().substring(2, 4);
//TODO
- if (frame.getPayload().contains("0000048E") || frame.getPayload().contains("FEA5820018F040001000000000")) {
- if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) {
- A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶netRequestFrame");
- log.info(netRequestFrame.toString());
+ if (!"32313243305005ffad36ffff".equals(deviceName)) {
+ log.info("涓嶈澶勭悊0000048E涔嬪鐨勫厖鐢垫々锛�");
+ return;
+ }
- if (netRequestFrame.isValidate()) {
- //淇濆瓨鍏呯數妗╃‖浠朵俊鎭�
- SpringContextHolder.getBean(C3ChargingService.class)
- .saveReporEquipment(deviceName, netRequestFrame.getMcuUdid(), netRequestFrame.getDestinationAddress());
- }
- } else if (C3ChargingEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) {
- // 缃戦〉鎿嶄綔浜岀淮鐮佽姹�(41)
- A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶codeRequestFrame");
- log.info(codeRequestFrame.toString());
- if (codeRequestFrame.isValidate()) {
- if (deviceName != null) {
- //璁剧疆浜岀淮鐮�
- Pole pole = SpringContextHolder.getBean(PoleService.class).getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
- if (pole != null) {
- String testUrl = "http://www.ximonsmart.com/charge/#/charge/" + pole.getId() + "/" + System.currentTimeMillis();
- SpringContextHolder.getBean(C3ChargingService.class).QrCode(codeRequestFrame.getDestinationAddress(), testUrl);
- }
+ String functionCode = frame.getPayload().substring(2, 4);
+ if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) {
+ A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶netRequestFrame");
+ log.info(netRequestFrame.toString());
+
+ if (netRequestFrame.isValidate()) {
+ //淇濆瓨鍏呯數妗╃‖浠朵俊鎭�
+ SpringContextHolder.getBean(C3ChargingService.class)
+ .saveReporEquipment(deviceName, netRequestFrame.getMcuUdid(), netRequestFrame.getDestinationAddress());
+ }
+ } else if (C3ChargingEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) {
+ // 缃戦〉鎿嶄綔浜岀淮鐮佽姹�(41)
+ A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶codeRequestFrame");
+ log.info(codeRequestFrame.toString());
+
+ if (codeRequestFrame.isValidate()) {
+ if (deviceName != null) {
+ //璁剧疆浜岀淮鐮�
+ Pole pole = SpringContextHolder.getBean(PoleService.class).getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
+ if (pole != null) {
+ String testUrl = "http://www.ximonsmart.com/charge/#/charge/" + pole.getId() + "/" + System.currentTimeMillis();
+ SpringContextHolder.getBean(C3ChargingService.class).QrCode(codeRequestFrame.getDestinationAddress(), testUrl);
}
}
+ }
- } else if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) {
- log.info("蹇冭烦鐩稿簲鈥斺�擟3鍏呯數妗╂暟鎹�" + productKey + " ------- " + deviceName);
- A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶heartbeatReportInnerFrame");
- log.info(heartbeatReportInnerFrame.toString());
+ } else if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) {
+ log.info("蹇冭烦鐩稿簲鈥斺�擟3鍏呯數妗╂暟鎹�" + productKey + " ------- " + deviceName);
+ A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶heartbeatReportInnerFrame");
+ log.info(heartbeatReportInnerFrame.toString());
- if (heartbeatReportInnerFrame.isValidate()) {
- SpringContextHolder.getBean(C3ChargingService.class).updateReportState(deviceName
- , heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac()
- , heartbeatReportInnerFrame.getHeartBeatDataPackage().getStatusBit()
- , heartbeatReportInnerFrame.getHeartBeatDataPackage().getDeviceTemperature());
- //鏇存柊璁㈠崟鏁版嵁
- SpringContextHolder.getBean(C3mOrderService.class).updateOrderStatusByHeartbeat(heartbeatReportInnerFrame.getHeartBeatDataPackage());
- //瀛樼紦瀛�
- RedisUtils.getBean().set(C3mRedisConstant.C3_STATUS.getCode() + heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac()
- , heartbeatReportInnerFrame.getHeartBeatDataPackage(), 300L);
+ if (heartbeatReportInnerFrame.isValidate()) {
+ SpringContextHolder.getBean(C3ChargingService.class).updateReportState(deviceName
+ , heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac()
+ , heartbeatReportInnerFrame.getHeartBeatDataPackage().getStatusBit()
+ , heartbeatReportInnerFrame.getHeartBeatDataPackage().getDeviceTemperature());
+ //鏇存柊璁㈠崟鏁版嵁
+ SpringContextHolder.getBean(C3mOrderService.class).updateOrderStatusByHeartbeat(heartbeatReportInnerFrame.getHeartBeatDataPackage());
+ //瀛樼紦瀛�
+ RedisUtils.getBean().set(C3mRedisConstant.C3_STATUS.getCode() + heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac()
+ , heartbeatReportInnerFrame.getHeartBeatDataPackage(), 300L);
+ }
+ } else if (C3ChargingEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) {
+ A5C3CommonReportInnerFrame completeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶completeRequestFrame");
+ log.info(completeRequestFrame.toString());
+ // 鍏呯數缁撴潫涓婃姤(43)
+ /**
+ * 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
+ */
+ if (completeRequestFrame != null) {
+ C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
+ getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, completeRequestFrame.getMcuUdid()).last("limit 1"));
+ if (one == null) {
+ return;
}
- } else if (C3ChargingEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) {
- A5C3CommonReportInnerFrame completeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶completeRequestFrame");
- log.info(completeRequestFrame.toString());
- // 鍏呯數缁撴潫涓婃姤(43)
+ A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
+ if (aPackage == null) {
+ LogUtils.error("{ 鍏呯數妗�(" + completeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
+ return;
+ }
+ orderService.stopCharingOrder(aPackage);
+ }
+
+
+ } else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) {
+ log.info("蹇冭烦鍝嶅簲鈥斺�斿厖鐢典腑鏂�");
+ A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶stopRequestFrame");
+ log.info(stopRequestFrame.toString());
+ if (stopRequestFrame != null) {
+ C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
+ getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, stopRequestFrame.getMcuUdid()).last("limit 1"));
+ if (one == null) {
+ return;
+ }
+
/**
* 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
*/
- if (completeRequestFrame != null) {
- C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
- getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, completeRequestFrame.getMcuUdid()).last("limit 1"));
- if (one == null) {
- return;
- }
- A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
- if (aPackage == null) {
- LogUtils.error("{ 鍏呯數妗�(" + completeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
- return;
- }
- orderService.stopCharingOrder(aPackage);
+ A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
+ if (aPackage == null) {
+ LogUtils.error("{ 鍏呯數妗�(" + stopRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
+ return;
}
+ orderService.stopCharingOrder(aPackage);
+ }
+ } else if (C3ChargingEnum.ERROR_CODE.getCode().equals(functionCode)) {
+ log.info("蹇冭烦鍝嶅簲鈥斺�旀晠闅�");
+ A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
+ log.info("C3鍏呯數妗╀笂鎶ュ鐞哶errorCodeRequestFrame");
+ log.info(errorCodeRequestFrame.toString());
- } else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) {
- log.info("蹇冭烦鍝嶅簲鈥斺�斿厖鐢典腑鏂�");
- A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶stopRequestFrame");
- log.info(stopRequestFrame.toString());
- if (stopRequestFrame != null) {
- C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
- getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, stopRequestFrame.getMcuUdid()).last("limit 1"));
- if (one == null) {
- return;
- }
-
- /**
- * 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
- */
- A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
- if (aPackage == null) {
- LogUtils.error("{ 鍏呯數妗�(" + stopRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
- return;
- }
- orderService.stopCharingOrder(aPackage);
- }
-
- } else if (C3ChargingEnum.ERROR_CODE.getCode().equals(functionCode)) {
- log.info("蹇冭烦鍝嶅簲鈥斺�旀晠闅�");
- A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
- log.info("C3鍏呯數妗╀笂鎶ュ鐞哶errorCodeRequestFrame");
- log.info(errorCodeRequestFrame.toString());
-
- /**
- * 淇濆瓨C3鍏呯數妗╂晠闅滄暟鎹�
- */
- if (errorCodeRequestFrame.isValidate() && errorCodeRequestFrame.getErrorMessage() != null) {
- //淇濆瓨鏁呴殰淇℃伅
- SpringContextHolder.getBean(C3mReportErrorService.class).saveReportError(errorCodeRequestFrame);
+ /**
+ * 淇濆瓨C3鍏呯數妗╂晠闅滄暟鎹�
+ */
+ if (errorCodeRequestFrame.isValidate() && errorCodeRequestFrame.getErrorMessage() != null) {
+ //淇濆瓨鏁呴殰淇℃伅
+ SpringContextHolder.getBean(C3mReportErrorService.class).saveReportError(errorCodeRequestFrame);
// //鍏呯數妗╂晠闅滅粨鏉熻鍗�
// A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(errorCodeRequestFrame.getDestinationAddress(), true);
// if (aPackage == null) {
@@ -163,14 +168,11 @@
// }
// orderService.stopCharingOrder(aPackage);
- } else {
- System.out.println("鏁版嵁鏍¢獙寮傚父锛�");
- }
+ } else {
+ System.out.println("鏁版嵁鏍¢獙寮傚父锛�");
}
- } else {
- log.info("涓嶈澶勭悊0000048A涔嬪鐨勫厖鐢垫々锛�");
- return;
}
+
}
--
Gitblit v1.9.3