From 0c7ccc45b410cadda34b3f2cad41d5dc69ce8da0 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 29 六月 2022 18:02:37 +0800
Subject: [PATCH] 充电桩

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 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 e21ea6e..844d5fe 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;
 
 /**
@@ -121,6 +121,7 @@
                 return;
             }
 //            refund(aPackage);
+            orderProcess(aPackage.getC3Mac());
 
         } else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
@@ -137,11 +138,8 @@
             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);
         } else if (C3ChargingEnum.StartCharging.getCode().equals(functionCode)) {
             log.info("蹇冭烦鍝嶅簲鈥斺�擟3鍏呯數妗╁紑濮嬪厖鐢�");
@@ -219,4 +217,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