From d9cffa70b7e8f9dcc505c72e0fd87e9e553e7901 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 18 三月 2026 19:35:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   15 +++++----------
 1 files changed, 5 insertions(+), 10 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 0d2bc54..e707695 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
@@ -1487,7 +1487,6 @@
         List<FareBreakdownDetailVo> longDistance = new ArrayList<>();
         XpOrder order = this.getById(orderId);
 
-        Long orderAppUserId = order.getAppUserId();
         if (order == null) {
             throw new RuntimeException("订单不存在");
         }
@@ -1542,7 +1541,7 @@
 
             com.alibaba.fastjson.JSONObject basicPricingJson = com.alibaba.fastjson.JSONObject.parseObject(pricing.getBasicPricingJson());
 
-            XpPricingCardVo xpPricingCardVo = xpPricingUtil.calculationFixedPrice(orderAppUserId.toString(), basicPricingJson, null, mileageKilometers, duration1, 0, 0.0, pricing.getIsDynamicPrice(), order.getCityId(), pricing.getDynamicPricingJson());
+            XpPricingCardVo xpPricingCardVo = xpPricingUtil.calculationFixedPrice(uid, basicPricingJson, null, mileageKilometers, duration1, 0, 0.0, pricing.getIsDynamicPrice(), order.getCityId(), pricing.getDynamicPricingJson());
             XpOrderDetail xpOrderDetail = new XpOrderDetail();
             xpOrderDetail.setDetailType(1);
             xpOrderDetail.setOrderId(orderId);
@@ -2363,13 +2362,9 @@
             order.setTripEnd(tripEnd);
             this.updateById(order);
         }
-        // 计算行程时间 单位分钟
-        // 计算时间差
-        Duration durationBetween = Duration.between(createTime, tripEnd);
 
-        // 转换为秒并保留一位小数
-        BigDecimal minutes = BigDecimal.valueOf(durationBetween.getSeconds());
-        res.setTime(minutes);
+        double exactMinutes = Duration.between(order.getBoardingTime(), order.getTripEnd()).toMillis() / (1000.0 * 60);
+        res.setTime(new BigDecimal(exactMinutes).setScale(2, RoundingMode.HALF_UP));
         return R.ok(res);
     }
 
@@ -2517,8 +2512,8 @@
         } else {
             orderDetailVo.setOrderTime(0.0);
         }
-        orderDetailVo.setTotalMileage(order.getMileageKilometers() != null ? new BigDecimal(order.getMileageKilometers()).setScale(2, RoundingMode.HALF_UP).doubleValue() : 0D);
-
+        orderDetailVo.setTotalMileage(order.getMileageKilometers() != null ? new BigDecimal(order.getMileageKilometers() * 1000).setScale(2, RoundingMode.HALF_UP).doubleValue() : 0D);
+        orderDetailVo.setOrderTime(new BigDecimal(null == order.getDuration() ? 0 : order.getDuration()).multiply(new BigDecimal(60)).setScale(0, RoundingMode.HALF_EVEN).doubleValue());
         return orderDetailVo;
     }
 

--
Gitblit v1.7.1