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 |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 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 3f6aaf8..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,13 +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.Pole;
+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;
@@ -324,6 +327,7 @@
      * @param c3Mac
      */
     public String finishCharging(String c3Mac) {
+
         C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
                 new C3FinishChargingReqInnerFrame(c3Mac);
 
@@ -340,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