From 0bc3e6364efb4f6e16585c93afb84a6b1830feb5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 21 七月 2025 14:41:07 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java |   58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
index c9c2c85..ab5da09 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -80,30 +80,36 @@
             List<TChargingOrder> failedStartupOrder = chargingOrderService.findFailedStartupOrder();
             log.info("定时任务执行,查询到启动失败的订单数量:{}", failedStartupOrder.size());
             for (TChargingOrder order : failedStartupOrder) {
+                log.info("定时任务执行,查询到启动失败的订单:{}", order.getCode());
                 //查询是否有充电信息
                 List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(order.getCode());
-                log.info("充电实时数据:{}", JSON.toJSONString(dataByOrderCode));
+                log.info("充电实时数据:{}", dataByOrderCode.size());
                 //没有充电数据,则执行退款
                 if(null == dataByOrderCode || dataByOrderCode.isEmpty()){
                     log.info("定时任务执行,查询到启动失败的订单,执行退款:{}", order.getCode());
-                    chargingOrderService.refund(order.getCode());
-                    int num = 0;
-                    while (true){
-                        TChargingOrderRefund one = chargingOrderRefundService.getOne(new LambdaQueryWrapper<TChargingOrderRefund>().eq(TChargingOrderRefund::getChargingOrderId, order.getId()));
-                        if(null != one && 2 == one.getRefundStatus()){
-                            order.setStatus(-1);
-                            chargingOrderService.updateById(order);
-                            break;
+                    if(1 == order.getOrderSource()){
+                        chargingOrderService.refund(order.getCode());
+                        int num = 0;
+                        while (true){
+                            TChargingOrderRefund one = chargingOrderRefundService.getOne(new LambdaQueryWrapper<TChargingOrderRefund>().eq(TChargingOrderRefund::getChargingOrderId, order.getId()));
+                            if(null != one && 2 == one.getRefundStatus()){
+                                order.setStatus(-1);
+                                chargingOrderService.updateById(order);
+                                break;
+                            }
+                            try {
+                                Thread.sleep(5000);
+                            } catch (InterruptedException e) {
+                                throw new RuntimeException(e);
+                            }
+                            num++;
+                            if(num > 10){
+                                break;
+                            }
                         }
-                        try {
-                            Thread.sleep(5000);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                        num++;
-                        if(num > 10){
-                            break;
-                        }
+                    }else{
+                        order.setStatus(-1);
+                        chargingOrderService.updateById(order);
                     }
                 }
             }
@@ -111,9 +117,17 @@
             List<TChargingOrder> stoppedOrder = chargingOrderService.findStoppedOrder();
             log.info("定时任务执行,查询到停止中的订单数量:{}", stoppedOrder.size());
             for (TChargingOrder order : stoppedOrder) {
+                log.info("定时任务执行,查询到停止中的订单:{}", order.getCode());
                 TransactionRecord one = transactionRecordService.findOne(order.getCode());
                 if(null != one){
                     log.info("定时任务执行,查询到停止中的订单账单数据:{}", JSON.toJSONString(one));
+                    if(null == order.getStartTime()){
+                        order.setStartTime(LocalDateTime.parse(one.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS").withZone(ZoneId.systemDefault())));
+                    }
+                    if(null == order.getEndTime()){
+                        order.setEndTime(LocalDateTime.parse(one.getEnd_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS").withZone(ZoneId.systemDefault())));
+                    }
+                    chargingOrderService.updateById(order);
                     TransactionRecordMessageVO vo = new TransactionRecordMessageVO();
                     BeanUtils.copyProperties(one, vo);
                     R r = chargingOrderService.endChargeBillingCharge(vo);
@@ -124,9 +138,17 @@
             List<TChargingOrder> chargingOrder = chargingOrderService.findChargingOrder();
             log.info("定时任务执行,查询到充电中的订单数量:{}", chargingOrder.size());
             for (TChargingOrder order : chargingOrder) {
+                log.info("定时任务执行,查询到充电中的订单:{}", order.getCode());
                 TransactionRecord one = transactionRecordService.findOne(order.getCode());
                 if(null != one && StringUtils.isNotEmpty(one.getResult())){
                     log.info("定时任务执行,查询到充电中的订单账单数据:{}", JSON.toJSONString(one));
+                    if(null == order.getStartTime()){
+                        order.setStartTime(LocalDateTime.parse(one.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS").withZone(ZoneId.systemDefault())));
+                    }
+                    if(null == order.getEndTime()){
+                        order.setEndTime(LocalDateTime.parse(one.getEnd_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS").withZone(ZoneId.systemDefault())));
+                    }
+                    chargingOrderService.updateById(order);
                     TransactionRecordMessageVO vo = new TransactionRecordMessageVO();
                     BeanUtils.copyProperties(one, vo);
                     R r = chargingOrderService.endChargeBillingCharge(vo);

--
Gitblit v1.7.1