From 446d588f6983d2f9e7bb18546a961fa4c14c99a0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 19 五月 2026 03:58:31 +0800
Subject: [PATCH] 合并代码

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   13 ++++++++++---
 1 files changed, 10 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 9bea8d7..3a2686e 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
@@ -2433,7 +2433,7 @@
             vo.setVin(vin);
             vo.setPassengerUid(order.getAppUserId());
             BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
-            if(null == delete || delete.getCode() != 0){
+            if(null == delete || delete.getCode() != 200){
                 log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
             }
         }
@@ -2441,8 +2441,10 @@
         // 根据订单所属开通城市id 查询定价
         XpPricing pricing = bootCommonService.getXpPricing(order.getCityId(), order.getVehicleId());
         if (pricing == null) {
+            log.info("计算价格-获取定价规则失败 {} {}", orderId, order.getCityId());
             throw new ServiceException("当前城市未配置定价规则", I18nKeyConstant.ORDER_PRICING_NOT_EXISTS);
         }
+        log.info("计算价格-获取定价规则成功 {} {}", orderId, JSON.toJSONString(pricing));
 
 
         // 费用
@@ -2457,6 +2459,7 @@
             TaxiPricingDemoService.GpsPoint point = new TaxiPricingDemoService.GpsPoint(trajectory.getDistance(), trajectory.getLocatetime());
             gpsPoints.add(point);
         }
+        log.info("计算价格-获取导航规则 {} {}", orderId, JSON.toJSONString(gpsPoints));
 
         TaxiPricingDemoService.PricingConfig config = new TaxiPricingDemoService.PricingConfig();
         JSONArray startingFareJsonArray = JSONArray.parseArray(pricing.getStartingFareJson());
@@ -2477,6 +2480,7 @@
             com.alibaba.fastjson2.JSONObject basicPricingJson = com.alibaba.fastjson2.JSONObject.parseObject(pricing.getBasicPricingJson());
 
             XpPricingCardVo xpPricingCardVo = xpPricingUtil.calculationFixedPrice(uid, basicPricingJson, null, mileageKilometers, duration1, 0, 0.0, pricing.getIsDynamicPrice(), order.getCityId(), pricing.getDynamicPricingJson());
+            log.info("计算价格-计算一口价结果 {} {}", orderId, JSON.toJSONString(xpPricingCardVo));
             XpOrderDetail xpOrderDetail = new XpOrderDetail();
             xpOrderDetail.setDetailType(1);
             xpOrderDetail.setOrderId(orderId);
@@ -2508,6 +2512,7 @@
                 totalPrice = totalPrice.add(xpOrderDetail1.getMoney());
                 xpOrderDetailMapper.insert(xpOrderDetail1);
             }
+            log.info("计算价格-保存费用明细 {} {}", orderId, JSON.toJSONString(xpOrderDetails));
 
             // 默认费率1
             double priceRate = 1;
@@ -2568,7 +2573,7 @@
                     }
                 }
             }
-
+            log.info("计算价格-计算费率 {} {}", orderId, priceRate);
             order.setOrderMoney(totalPrice.multiply(new BigDecimal(priceRate)));
             order.setAppUserId(null);
             baseMapper.updateById(order);
@@ -2689,6 +2694,7 @@
                     }
                 }
             }
+            log.info("计算价格-计算费率 {} {}", orderId, priceRate);
             // 封装费用明细数据
             for (Map.Entry<String, BigDecimal> stringBigDecimalEntry : bill.entrySet()) {
                 // 封装起步价
@@ -2831,6 +2837,7 @@
             for (XpOrderDetail xpOrderDetail : xpOrderDetails) {
                 xpOrderDetailMapper.insert(xpOrderDetail);
             }
+            log.info("计算价格-计算费用明细 {} {}", orderId, JSON.toJSONString(xpOrderDetails));
 
             for (FareBreakdownDetailVo fareBreakdownDetailVo : duration) {
                 if (order.getDurationMoney() == null) {
@@ -4953,7 +4960,7 @@
             itinerary.setCity(xpOrder.getCityName());
             itinerary.setStartPoint(xpOrder.getStartAddress());
             itinerary.setEndPoint(xpOrder.getEndAddress());
-            itinerary.setMileage(xpOrder.getMileageKilometers().toString());
+            itinerary.setMileage(null == xpOrder.getMileageKilometers() ? "0" : xpOrder.getMileageKilometers().toString());
             itinerary.setAmount(xpOrder.getOrderMoney());
 
             xpInvoiceVo.setItinerary(itinerary);

--
Gitblit v1.7.1