From 2750173a6e25c8908d258d729da5fcd355756fdd Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 29 六月 2022 14:06:46 +0800
Subject: [PATCH] 充电桩
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java | 44 ++++++++++++++++++++++++--------------------
1 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
index 4e1d2bd..8ceab17 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -6,6 +6,7 @@
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.C3mRedisConfig;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
@@ -26,12 +27,15 @@
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mChargingCharge;
+import com.sandu.ximon.dao.domain.C3mOrder;
import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -58,17 +62,11 @@
* @return 鏄惁鎴愬姛
*/
public boolean updateReportState(String deviceName, String c3Mac, String statusBit, String deviceTemperature) {
- C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, c3Mac));
+ C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
if (one != null) {
-// one.setStatusBit(Integer.valueOf(statusBit));
one.setDeviceTemperature(deviceTemperature);
one.setPoleDevicesCode(deviceName);
one.setC3Mac(c3Mac);
-
-// List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, one.getC3Id()));
-// if (list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃� 娣诲姞榛樿璐圭巼
-// c3mChargingChargeService.initCharge((one.getC3Id()).intValue());
-// }
return updateById(one);
} else {
return false;
@@ -90,24 +88,17 @@
c3mCharging.setPoleDevicesCode(deviceName);
c3mCharging.setC3Mac(c3Mac);
flag = save(c3mCharging);
- //璁剧疆璐圭巼
- C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
- List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
- if (list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃� 娣诲姞榛樿璐圭巼
- c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
- }
-
} else {
//灏嗚澶囦俊鎭坊鍔犲埌鍏呯數妗╄澶囪〃
one.setPoleDevicesCode(deviceName);
one.setC3Mac(c3Mac);
flag = updateById(one);
- //璁剧疆璐圭巼
- C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
- List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
- if (list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃� 娣诲姞榛樿璐圭巼
- c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
- }
+ }
+ //璁剧疆璐圭巼
+ C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
+ List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
+ if (list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃� 娣诲姞榛樿璐圭巼
+ c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
}
// /**
// * 娣诲姞缁戝畾鍏崇郴寮�濮�
@@ -336,6 +327,7 @@
* @param c3Mac
*/
public String finishCharging(String c3Mac) {
+
C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
new C3FinishChargingReqInnerFrame(c3Mac);
@@ -352,6 +344,18 @@
A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+ //缁撴潫鍏呯數 鏇存敼璁㈠崟鐘舵��
+ 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);
+ SpringContextHolder.getBean(C3mOrderService.class).updateById(lastOrderByC3Mac);
+ }
if (operationReportInnerFrame.isValidate()) {
return operationReportInnerFrame.getState();
} else {
--
Gitblit v1.9.3