From 23fd3f969d2e35c40742b6cd69a24ddf0195732a Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 29 六月 2022 15:25:07 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java |   40 +++++++++++++++++++++-------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
index ecc51d0..195ee7e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -103,7 +103,7 @@
                     C3mOrder.getPoleId()
             );
         }
-        C3mOrder.setRefundTimestamp(new Date().getTime());
+        C3mOrder.setRefundTimestamp(System.currentTimeMillis());
         C3mOrder.setRefundMsg(msg);
         if (b) {
             C3mOrder.setOrderStatus(OrderStatus.REFUND.getStatus());
@@ -156,10 +156,8 @@
         //鏌ヨ鍏呯數妗╂槸鍚﹀瓨鍦ㄦ鍦ㄨ繘琛屼腑鐨勮鍗�
         C3mOrder c3mOrder = getOne(Wrappers.lambdaQuery(C3mOrder.class)
                 .eq(C3mOrder::getC3Udid, c3m.getMcuUdid()).eq(C3mOrder::getChargingStates, 1).last("limit 1"));
-        if (c3mOrder != null) {
-            throw new BusinessException("璇ュ厖鐢垫々宸插瓨鍦ㄦ鍦ㄨ繘琛屼腑鐨勮鍗�");
-        }
-        if (!c3mOrder.getUserCode().equals(wxCode)) {
+
+        if (c3mOrder != null && !c3mOrder.getUserCode().equals(wxCode)) {
             throw new BusinessException("璇ュ厖鐢垫々姝e湪琚埆浜轰娇鐢�");
         }
         Pole pole = poleService.getById(streetlightId);
@@ -208,7 +206,6 @@
         WxPayOrderNotifyResult wxPayOrderNotifyResult = fastPayService.parseOrderNotifyResult(xmlData);
         String orderSn = wxPayOrderNotifyResult.getOutTradeNo();
         String transactionId = wxPayOrderNotifyResult.getOutTradeNo();
-        Integer totalFee = wxPayOrderNotifyResult.getTotalFee();
         C3mOrder userOrder = getByOrderSn(orderSn);
         if (userOrder == null) {
             return WxPayNotifyResponse.fail("璁㈠崟涓嶅瓨鍦� sn=" + orderSn);
@@ -221,15 +218,17 @@
         userOrder.setOutTradeNo(transactionId);
         userOrder.setPayTimestamp(new Date().getTime());
         userOrder.setOrderStatus(OrderStatusEnums.PAID.getCode());
-        if (!updateById(userOrder)) {
-            return WxPayNotifyResponse.fail("鏇存柊鏁版嵁宸插け鏁�");
-        }
         /**
          * 璋冭捣寮�濮嬪厖鐢垫帴鍙�
          */
         String s = c3ChargingService.startCharging(userOrder.getC3Mac(), userOrder.getSubscribeChargingCapacity(), userOrder.getTotalAmount());
         if (s.isEmpty() || s == null) {
             throw new BusinessException("寮�鍚厖鐢靛け璐�");
+        }
+        //寮�鍚厖鐢垫垚鍔熷悗锛屾洿鏂拌鍗曠姸鎬佷负鍏呯數涓�
+        userOrder.setChargingStates(0);
+        if (!updateById(userOrder)) {
+            return WxPayNotifyResponse.fail("鏇存柊鏁版嵁宸插け鏁�");
         }
 
         return WxPayNotifyResponse.success("鏇存柊鏁版嵁鎴愬姛");
@@ -259,16 +258,19 @@
      * 鏍规嵁蹇冭烦鍖呮洿鏂拌鍗曠姸鎬�
      */
     public void updateOrderStatusByHeartbeat(A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage dataPackage) {
-        C3mOrder c3mOrder = getOne(Wrappers.lambdaQuery(C3mOrder.class).eq(C3mOrder::getC3Mac, dataPackage.getC3Mac())
-                .eq(C3mOrder::getChargingStates, 1).last("limit 1"));
-        if (c3mOrder == null) {
-            return;
+        //鍏呯數涓殑蹇冭烦鍖呴渶瑕佸幓鏇存柊璁㈠崟鏁版嵁锛屽惁鍒欎笉澶勭悊锛�
+        if(dataPackage.getStatusBit().equals("02")){
+            C3mOrder c3mOrder = getOne(Wrappers.lambdaQuery(C3mOrder.class).eq(C3mOrder::getC3Mac, dataPackage.getC3Mac())
+                    .eq(C3mOrder::getChargingStates, 1).last("limit 1"));
+            if (c3mOrder == null) {
+                return;
+            }
+            //鏇存柊鍏呯數鎬婚噺
+            c3mOrder.setActualChargingCapacityHide(Double.parseDouble(dataPackage.getChargedCapacity()));
+            //鏇存柊鍓╀綑閲戦
+            c3mOrder.setSurplusAmount(Double.parseDouble(dataPackage.getRemainingAmount()));
+            updateById(c3mOrder);
         }
-        //鏇存柊鍏呯數鎬婚噺
-        c3mOrder.setActualChargingCapacityHide(Double.parseDouble(dataPackage.getChargedCapacity()));
-        //鏇存柊鍓╀綑閲戦
-        c3mOrder.setSurplusAmount(Double.parseDouble(dataPackage.getRemainingAmount()));
-        updateById(c3mOrder);
     }
 
 
@@ -289,7 +291,7 @@
     /**
      * 鑾峰彇鍒涘缓鏃堕棿瓒呰繃10鍒嗛挓鐨勮鍗� 骞朵笖娌℃湁鏀粯鐨勮鍗�
      */
-    public void getOrderListByCreateTime() {
+    public void deleteOrderListByCreateTime() {
         // 鑾峰彇褰撳墠鏃堕棿鎴�
         Long time = System.currentTimeMillis();
         //鍒犻櫎瓒呰繃10鍒嗛挓鏈粯娆剧殑璁㈠崟

--
Gitblit v1.9.3