From 2b73d5cfaa57aee00ff41c37a136c764f5c8194b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 12 三月 2026 23:17:15 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java |   44 +++++++++++++++++++++++---------------------
 1 files changed, 23 insertions(+), 21 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 9125b48..90c0748 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
@@ -52,29 +52,33 @@
      * @param vin
      */
     @Override
-    public Long updateCruiseOrder(String vin) {
+    public Long cancelCruiseOrderByVin(String vin) {
         LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
-        XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
-        if (xpCruiseOrder != null) {
-            xpCruiseOrder.setStatus(2);
-            this.update(xpCruiseOrder, wrapper);
-            PushOrderDto pushOrderDto = new PushOrderDto();
-            pushOrderDto.setVin(vin);
-            pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
-            pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
-            R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
-            if(booleanR==null || !booleanR.getData()){
-                log.info("XPU取消巡游订单失败");
-                return null;
+        List<XpCruiseOrder> xpCruiseOrder = this.list(wrapper.orderByDesc(XpCruiseOrder::getCreateTime));
+        if (xpCruiseOrder != null && !xpCruiseOrder.isEmpty()) {
+            xpCruiseOrder.forEach(s->{
+                s.setStatus(2);
+                s.setVehicleId(null);
+            });
+            this.updateBatchById(xpCruiseOrder);
+            for (XpCruiseOrder cruiseOrder : xpCruiseOrder) {
+                PushOrderDto pushOrderDto = new PushOrderDto();
+                pushOrderDto.setVin(vin);
+                pushOrderDto.setOrderId("XU" + cruiseOrder.getId());
+                pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
+                R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
+                if(booleanR==null || !booleanR.getData()){
+                    log.info("XPU取消巡游订单失败");
+                }
             }
-            return xpCruiseOrder.getId();
+            return xpCruiseOrder.get(0).getId();
         }
         return null;
     }
 
 
     @Override
-    public R updateCruiseOrderId(Long orderId) {
+    public R cancelCruiseOrderById(Long orderId) {
         XpCruiseOrder xpCruiseOrder = this.getById(orderId);
         if (xpCruiseOrder != null) {
             xpCruiseOrder.setStatus(2);
@@ -95,15 +99,13 @@
     }
 
     @Override
-    public Long closeCruiseOrder(String vin) {
-        LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
-        XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
+    public void completeCruiseOrder(Long id) {
+        XpCruiseOrder xpCruiseOrder = this.getById(id);
         if (xpCruiseOrder != null) {
             xpCruiseOrder.setStatus(3);
-            this.update(xpCruiseOrder, wrapper);
-            return xpCruiseOrder.getId();
+            xpCruiseOrder.setVehicleId(null);
+            this.updateById(xpCruiseOrder);
         }
-        return null;
     }
 
 

--
Gitblit v1.7.1