From 76b265d3e34336dba6404b5c634e4170412d5601 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 18 三月 2026 11:08:40 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 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