From c97b518d5fbb570817ca835e96c1b8aa49b099e1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 23 十月 2024 19:15:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java |   40 +++++++-------------
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderChargingInfo.java              |   16 +++++++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java                 |    3 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java     |    1 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java  |    2 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java   |   13 ++++--
 6 files changed, 43 insertions(+), 32 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
index b991d8e..a02ee90 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
@@ -13,7 +13,8 @@
 
     @ApiModelProperty(value = "uid")
     private String uid;
-
+    @ApiModelProperty(value = "orderIdStr")
+    private String orderIdStr;
     @ApiModelProperty(value = "充电订单")
     private TChargingOrder chargingOrder;
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
index f10fe03..6288179 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -75,6 +75,7 @@
         ChargingBillVO res = chargingBillService.chargingBillList1(dto);
         List<ChargingBillListVO> records = res.getList().getRecords();
         accountListVO.setBillCount(records.size());
+        accountListVO.setTotalAmount(res.getOrderAmount());
         accountListVO.setPaymentAmount(res.getPaymentAmount());
         accountListVO.setRefundAmount(res.getRefundAmount());
         accountListVO.setCommissionAmount(res.getCommissionAmount());
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 b5458b9..401f10d 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 4bd5a2e..3ce44cb 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
@@ -199,7 +199,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){
@@ -236,10 +236,7 @@
                 }
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付金额减去退款金额
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
-
-                }else if (tChargingOrder.getPaymentAmount()!=null){
+                if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                 }
                 // 累加订单金额
@@ -250,7 +247,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());
                 }
                 // 累加累计服务费
@@ -258,8 +255,9 @@
                     serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
                 }
                 // 累加平台手续费
-                if (tChargingOrder.getCommissionAmount()!=null){
-                    commissionAmount = commissionAmount.add(tChargingOrder.getCommissionAmount());
+                if (tChargingOrder.getServiceCharge()!=null){
+                    commissionAmount = commissionAmount.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.006))
+                            .setScale(2,RoundingMode.HALF_DOWN));
                 }
                 // 累加平台分佣
                 if (tChargingOrder.getSharingAmount()!=null){
@@ -287,6 +285,7 @@
                     .subtract(chargingBillVO.getSharingAmount()==null?BigDecimal.ZERO:chargingBillVO.getSharingAmount()));
             chargingBillListVO.setPaymentAmount(paymentAmount == null?BigDecimal.ZERO:paymentAmount);
             chargingBillListVO.setOrderAmount(orderAmount == null?BigDecimal.ZERO:orderAmount);
+            chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:orderAmount);
             chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
             chargingBillListVO.setServiceCharge(serviceCharge == null?BigDecimal.ZERO:serviceCharge);
             chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount);
@@ -312,9 +311,6 @@
             chargingBillListVO.setChargingSecond(chargingSecond);
         }
         for (ChargingBillListVO chargingBillListVO : list1) {
-
-
-
             LocalDateTime billTime = chargingBillListVO.getBillTime();
             // 将其转化为yyyy-MM格式字符串
             chargingBillVO.setCreateTime(billTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
@@ -343,14 +339,6 @@
                 eq.eq("site_id", chargingBillListVO.getSiteId());
             }
             List<TChargingOrder> tChargingOrders = chargingOrderList.selectList(eq);
-            int chargingSecond = 0;
-            BigDecimal paymentAmount = new BigDecimal("0");
-            BigDecimal orderAmount = new BigDecimal("0");
-            BigDecimal electrovalence = new BigDecimal("0");
-            BigDecimal serviceCharge = new BigDecimal("0");
-            BigDecimal commissionAmount = new BigDecimal("0");
-            BigDecimal sharingAmount = new BigDecimal("0");
-            BigDecimal chargingCapacity = new BigDecimal("0");
             orderCount+=tChargingOrders.size();
             chargingBillVO.setCategory("");
             chargingBillVO.setExportList(tChargingOrders);
@@ -358,7 +346,7 @@
 
                 // 累加实收金额 支付金额减去退款金额
                 if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
+                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
 
                 }else if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
@@ -589,7 +577,7 @@
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付金额减去退款金额
                 if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
+                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
 
                 }else if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
@@ -610,8 +598,8 @@
                 serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
                 }
                 // 累加平台手续费
-                if (tChargingOrder.getCommissionAmount()!=null){
-                    commissionAmount = commissionAmount.add(tChargingOrder.getCommissionAmount());
+                if (tChargingOrder.getServiceCharge()!=null){
+                    commissionAmount = commissionAmount.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.006)).setScale(2,RoundingMode.HALF_DOWN));
                 }
                 // 累加平台分佣
                 if (tChargingOrder.getSharingAmount()!=null){
@@ -633,7 +621,7 @@
             chargingBillListVO.setPaymentAmount(paymentAmount);
             chargingBillListVO.setOrderAmount(orderAmount);
             chargingBillListVO.setElectrovalence(electrovalence);
-            chargingBillListVO.setServiceCharge(serviceCharge);
+            chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,RoundingMode.HALF_DOWN));
             chargingBillListVO.setCommissionAmount(commissionAmount);
             chargingBillListVO.setSharingAmount(sharingAmount);
             chargingBillListVO.setChargingCapacity(chargingCapacity);
@@ -696,8 +684,8 @@
             for (TChargingOrder tChargingOrder : tChargingOrders) {
                 // 累加实收金额 支付金额减去退款金额
                 if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
+                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
+                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
 
                 }else if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
index 544e9ff..e294a86 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
@@ -76,6 +76,7 @@
                 TShoppingOrder tShoppingOrder = shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null);
                 setGoodsInfo(item,tShoppingOrder);
             }
+            item.setOrderIdStr(item.getOrderId().toString());
         });
         list.forEach(e->e.setUid(e.getId().toString()));
         pageInfo.setRecords(list);
@@ -98,6 +99,7 @@
             TShoppingOrder tShoppingOrder = shoppingOrderMapper.selectById(orderAppeal.getOrderId());
             setGoodsInfo(orderAppealVO,tShoppingOrder);
         }
+        orderAppealVO.setOrderIdStr(orderAppealVO.getOrderId().toString());
         return orderAppealVO;
     }
 

--
Gitblit v1.7.1