From 3e564b130198d5809e7529109c37af63444a732b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 23 十月 2024 18:01:44 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java |    4 ++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java              |   16 +++++++++++++++-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java   |   13 +++++++++----
 3 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 8f860be..988b8d4 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -265,10 +265,15 @@
 
         Long count = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, orderId).count();
         payOrderChargingInfo.setPeriodCount(count);
-        List<Long> carid = new ArrayList<>();
-        carid.add(byId.getAppUserCarId());
-        R<List<TAppUserCar>> carByIds = appUserCarClient.getCarByIds(carid);
-        payOrderChargingInfo.setCarNum(carByIds.getData().get(0).getLicensePlate());
+        if (byId.getAppUserCarId()!=null) {
+            List<Long> carid = new ArrayList<>();
+            carid.add(byId.getAppUserCarId());
+            R<List<TAppUserCar>> carByIds = appUserCarClient.getCarByIds(carid);
+            payOrderChargingInfo.setCarNum(carByIds.getData().get(0).getLicensePlate());
+        }
+        payOrderChargingInfo.setStartTime(byId.getStartTime());
+        payOrderChargingInfo.setEndTime(byId.getEndTime());
+        payOrderChargingInfo.setTimeCount(payOrderChargingInfo.calculateDuration());
         return R.ok(payOrderChargingInfo);
     }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java
index 9d0b2cd..32db2d9 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java
@@ -5,7 +5,7 @@
 import com.ruoyi.order.api.model.TChargingOrder;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-
+import java.time.Duration;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
@@ -37,4 +37,18 @@
     private String carNum;
     private TChargingOrder tChargingOrder;
     private Long periodCount;
+    private String timeCount;
+    public String calculateDuration() {
+        if (startTime == null || endTime == null) {
+            return "00:00:00";
+        }
+
+        Duration duration = Duration.between(startTime, endTime);
+        long totalSeconds = duration.getSeconds();
+        long hours = totalSeconds / 3600;
+        long minutes = (totalSeconds % 3600) / 60;
+        long seconds = totalSeconds % 60;
+
+        return String.format("%02d:%02d:%02d", hours, minutes, seconds);
+    }
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index 6d674f6..0bbf386 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -198,7 +198,7 @@
                 }
                 BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
                 tChargingOrder.setTotalAmount(add.toString());
-                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount().toString());
+                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                 UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
                 if (data5!=null){
                     if (data5.getTime_remaining()!=null){
@@ -249,7 +249,7 @@
                 if (tChargingOrder.getElectrovalence()!=null){
                     electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                 }
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){
+                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null && tChargingOrder.getRefundStatus()== 2){
                     refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                 }
                 // 累加累计服务费

--
Gitblit v1.7.1