From b7cb5ffc4c21e69d846df29a5a641fcc8946a6e2 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 30 六月 2022 11:27:39 +0800
Subject: [PATCH] fix
---
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java | 52 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 39 insertions(+), 13 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 fae7404..fce2d1b 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
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.util.SpringContextHolder;
-import com.sandu.ximon.admin.config.RedisConfig;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3CommonReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3ErrorCodeReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
@@ -27,6 +26,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import java.math.BigDecimal;
import java.util.Date;
/**
@@ -81,6 +81,12 @@
if (codeRequestFrame.isValidate()) {
if (deviceName != null) {
+ C3mCharging c3mCharging = SpringContextHolder.getBean(C3ChargingService.class).
+ getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, codeRequestFrame.getDestinationAddress()).last("limit 1"));
+ if(c3mCharging == null){
+ SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, codeRequestFrame.getMcuUdid(), codeRequestFrame.getDestinationAddress());
+ }
+
//璁剧疆浜岀淮鐮�
Pole pole = SpringContextHolder.getBean(PoleService.class).getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
if (pole != null) {
@@ -120,7 +126,8 @@
LogUtils.error("{ 鍏呯數妗�(" + completeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
return;
}
- refund(aPackage);
+// refund(aPackage);
+ orderProcess(aPackage.getC3Mac());
} else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) {
A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
@@ -131,32 +138,25 @@
LogUtils.error("{ 鍏呯數妗�(" + stopRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
return;
}
- refund(aPackage);
+// refund(aPackage);
} else if (C3ChargingEnum.ERROR_CODE.getCode().equals(functionCode)) {
A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
log.info("C3鍏呯數妗╀笂鎶ュ鐞哶errorCodeRequestFrame");
log.info(errorCodeRequestFrame.toString());
- A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(errorCodeRequestFrame.getDestinationAddress());
- if (aPackage == null) {
- LogUtils.error("{ 鍏呯數妗�(" + errorCodeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
- return;
- }
- refund(aPackage);
+ //鍏呯數缁撴潫 鏇存柊璁㈠崟鐘舵��
+
+// refund(aPackage);
} else if (C3ChargingEnum.StartCharging.getCode().equals(functionCode)) {
log.info("蹇冭烦鍝嶅簲鈥斺�擟3鍏呯數妗╁紑濮嬪厖鐢�");
A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(frame.getPayload());
log.info("C3鍏呯數妗╀笂鎶ュ鐞哶heartbeatReportInnerFrame");
log.info(operationReportInnerFrame.toString());
-// if (operationReportInnerFrame.isValidate()) {
-// SpringContextHolder.getBean(C3ChargingService.class).saveReportData(deviceName, operationReportInnerFrame.getHeartBeatDataPackage());
-// }
}
}
private void refund(A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage) {
-// private void refund(A5C3CommonReportInnerFrame completeRequestFrame,String code){
/**
* 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
*/
@@ -223,4 +223,30 @@
}
+ /**
+ * 璁㈠崟澶勭悊
+ *
+ * @param c3Mac
+ */
+ private void orderProcess(String c3Mac) {
+
+ //缁撴潫鍏呯數 鏇存敼璁㈠崟鐘舵��
+ C3mOrder lastOrderByC3Mac = SpringContextHolder.getBean(C3mOrderService.class).getLastOrderByC3Mac(c3Mac);
+ if (lastOrderByC3Mac != null) {
+ //璁剧疆璁㈠崟鐘舵�佷负宸插畬鎴�
+ lastOrderByC3Mac.setOrderStatus(OrderStatus.COMPLETE.getStatus());
+
+ BigDecimal actualChargingCapacity = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacity());
+ BigDecimal actualChargingCapacityHide = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacityHide());
+ //璁剧疆瀹為檯鍏呯數鐢甸噺
+ lastOrderByC3Mac.setActualChargingCapacity(actualChargingCapacity.add(actualChargingCapacityHide).doubleValue());
+ //璁剧疆璁㈠崟缁撴潫鏃堕棿
+ lastOrderByC3Mac.setStopChargingTimestamp(System.currentTimeMillis());
+ lastOrderByC3Mac.setActualChargingCapacity(0.00);
+ //璁剧疆璁㈠崟鐘舵�佷负鍏呯數缁撴潫
+ lastOrderByC3Mac.setChargingStates(1);
+ SpringContextHolder.getBean(C3mOrderService.class).updateById(lastOrderByC3Mac);
+ }
+ }
+
}
--
Gitblit v1.9.3