From f7675bda569bf0654b4157613c8ba448ac43c5a8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 06 三月 2026 17:11:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
index ab89fcf..bd63f6b 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
@@ -118,7 +118,7 @@
     private final XpVehicleClient xpVehicleClient;
     private final XpFleetVehicleClient xpFleetVehicleClient;
     private final XpFleetClient xpFleetClient;
-
+    private final OrderMissionClient orderMissionClient;
     /**
      * 关闭当前巡游单子
      * @param vin
@@ -131,6 +131,19 @@
             xpCruiseOrder.setStatus(2);
             this.update(xpCruiseOrder, wrapper);
             // todo 给XPU下发订单取消报文,如果取消不成功需要重试。两次不成功,则需要换车
+            PushOrderDto pushOrderDto = new PushOrderDto();
+            pushOrderDto.setVin(vin);
+            pushOrderDto.setOrderId(xpCruiseOrder.getId());
+            pushOrderDto.setOperation_type(OrderOperationType.VEHICLE_CANCEL_ORDER);
+            R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
+            if(booleanR==null || !booleanR.getData()){
+                log.error("下发失败重试一次");
+                R<Boolean> booleanR1 = orderMissionClient.cancelOrder(pushOrderDto);
+                if(booleanR1==null || !booleanR1.getData()){
+                    log.error("换车");
+                    return null;
+                }
+            }
 
             return xpCruiseOrder.getId();
         }

--
Gitblit v1.7.1