From cd1ab3efb6ca6433754dd7ea9b996e63f4a3e683 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 14 三月 2026 10:11:27 +0800
Subject: [PATCH] 处理结束行程动态计费

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 414cf1e..7fe2b13 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -1677,7 +1677,7 @@
                     }
                     String durationAndMileage = key.split("\\|")[2];
                     startDetail.setDuration(Double.valueOf(durationAndMileage.split("&")[0]));
-                    startDetail.setMileage(new BigDecimal(durationAndMileage.split("&")[1]));
+                    startDetail.setMileage(new BigDecimal(durationAndMileage.split("&")[1]).multiply(BigDecimal.valueOf(1000)));
                     start.add(startDetail);
                 }
                 // 封装里程费
@@ -1727,7 +1727,19 @@
                 // 封装时长费
                 FareBreakdownDetailVo timeDetail = new FareBreakdownDetailVo();
                 if (key.contains("时长费")) {
-                    timeDetail.setType(startDetail.getType());
+                    if(key.contains("普通时段")){
+                        timeDetail.setType(1);
+                    }
+                    if(key.contains("夜间行驶")){
+                        timeDetail.setType(2);
+                    }
+                    if(key.contains("高峰")){
+                        timeDetail.setType(3);
+                    }
+                    if(key.contains("节假")){
+                        timeDetail.setType(4);
+                    }
+
                     timeDetail.setMoney(stringBigDecimalEntry.getValue());
                     timeDetail.setDuration(Double.valueOf(key.split("&")[1]));
                     duration.add(timeDetail);
@@ -1737,7 +1749,7 @@
                 if (key.contains("远途费")) {
                     longDetail.setType(startDetail.getType());
                     longDetail.setMoney(stringBigDecimalEntry.getValue());
-                    longDetail.setMileage(new BigDecimal(key.split("&")[1]));
+//                    longDetail.setMileage(new BigDecimal(key.split("&")[1]));
                     longDistance.add(longDetail);
                 }
             }
@@ -2394,6 +2406,13 @@
         order.setStatus(9);
         order.setAppUserId(null);
         baseMapper.updateById(order);
+
+        if(order.getCouponId()!=null){
+            UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
+            useUserCouponDto.setUserCouponId(order.getCouponId());
+            xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
+        }
+
         return R.ok();
     }
 

--
Gitblit v1.7.1