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

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   10 +++++-----
 1 files changed, 5 insertions(+), 5 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 df567ff..fbe8e76 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
@@ -1205,7 +1205,7 @@
             PushOrderDto pushOrderDto = new PushOrderDto();
             pushOrderDto.setOrderId(order.getId().toString());
             pushOrderDto.setVin(xpVehicle.getVehicleVin());
-            pushOrderDto.setOperation_type(OrderOperationType.VEHICLE_CANCEL_ORDER);
+            pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
             orderMissionClient.cancelOrder(pushOrderDto);
         }
 
@@ -1385,9 +1385,9 @@
         order.setAppUserId(null);
         order.setTripEnd(LocalDateTime.now());
 
-
-        long minutes = Duration.between(order.getBoardingTime(), order.getTripEnd()).toMinutes();
-        order.setDuration((double) minutes);
+        double exactMinutes = Duration.between(order.getBoardingTime(), order.getTripEnd()).toMillis() / (1000.0 * 60);
+        exactMinutes = new BigDecimal(exactMinutes).setScale(2, RoundingMode.HALF_UP).doubleValue();
+        order.setDuration(exactMinutes);
 
 //        order.setMileageKilometers(80.0);
         baseMapper.updateById(order);
@@ -1459,7 +1459,7 @@
         }
 
         TaxiPricingDemoService.TaxiPricingService service = new TaxiPricingDemoService.TaxiPricingService();
-        Map<String, BigDecimal> bill = service.calculateOrderPrice(DateUtils.toDate(order.getCreateTime()), order.getMileageKilometers(), gpsPoints, config);
+        Map<String, BigDecimal> bill = service.calculateOrderPrice(DateUtils.toDate(order.getBoardingTime()), order.getMileageKilometers(), gpsPoints, config);
         System.err.println("======= 订单计费账单 =======");
         bill.forEach((detail, price) -> System.err.println(detail + ": " + price + " 元"));
 

--
Gitblit v1.7.1