From 4e6453cc91184f149530a22c3015085a04c74b30 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 14 三月 2026 23:27:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   70 +++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index b647791..aa2c412 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -793,8 +793,10 @@
                     break;
                 case ORDER_RECEIVED:
                     //收到订单
-                    buildPushOrderStatus(orderId, OrderStatusEnum.READY_DEPART, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.READY_DEPART.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.READY_DEPART, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.READY_DEPART.getCode());
+                    }
                     break;
                 case ORDER_STARTED:
                     //开始执行订单
@@ -802,8 +804,10 @@
                     break;
                 case ORDER_EN_ROUTE_TO_PICKUP:
                     //前往上车点
-                    buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PICK_UP.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PICK_UP.getCode());
+                    }
                     break;
                 case ORDER_ARRIVED_AT_PICKUP:
                     //到达上车点
@@ -811,49 +815,41 @@
                     break;
                 case ORDER_WAITING_FOR_PICKUP:
                     //等待乘客上车
-                    buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP_GUESTS, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PICK_UP_GUESTS.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP_GUESTS, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PICK_UP_GUESTS.getCode());
+                    }
                     break;
                 case ORDER_PASSENGER_ONBOARD:
                     //乘客已上车
-                    buildPushOrderStatus(orderId, OrderStatusEnum.PASSENGER_BOARDED, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PASSENGER_BOARDED.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.PASSENGER_BOARDED, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PASSENGER_BOARDED.getCode());
+                    }
                     break;
                 case ORDER_EN_ROUTE_TO_DESTINATION:
                     //前往目的地
-                    buildPushOrderStatus(orderId, OrderStatusEnum.IN_SERVICE, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.IN_SERVICE.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.IN_SERVICE, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.IN_SERVICE.getCode());
+                    }
                     break;
                 case ORDER_ARRIVED_AT_DESTINATION:
                     //到达目的地
                     log.info("到达目的地,不做任何处理:{}", orderId);
                     break;
                 case ORDER_WAITING_FOR_DROPOFF:
-                    //等待乘客下车
-                    buildPushOrderStatus(orderId, OrderStatusEnum.SEE_OFF_GUESTS, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
+                    //等待乘客下车,开始倒计时发下巡游单
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.SEE_OFF_GUESTS, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
+                    }
                     break;
                 case ORDER_DROPOFF_COMPLETED:
                     //下车完成
-                    buildPushOrderStatus(orderId, OrderStatusEnum.APPROVAL_REJECTION, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode());
-                    // 下发巡游任务
-                    R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId));
-                    if(xpOrderR.getCode()==200){
-                        XpOrder orderData = xpOrderR.getData();
-                        Long vehicleId =orderData.getVehicleId();
-                        R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId);
-                        if(xpVehicleR.getData()!=null){
-                            XpVehicle xpVehicle = xpVehicleR.getData();
-                            //订单结束,在添加导航数据之前先将车辆状态修改为空闲
-                            xpVehicleClient.updateVehicleStatus(new UpdateVehicleStateDto(xpVehicle.getVehicleVin(), 0));
-                            xpVehicle = xpVehicleClient.queryById(vehicleId).getData();
-
-                            AddCruiseMissionDto addCruiseMissionDto = new AddCruiseMissionDto();
-                            addCruiseMissionDto.setOrder(orderData);
-                            addCruiseMissionDto.setVehicle(xpVehicle);
-                            xpCruiseOrderClient.addCruiseMission(addCruiseMissionDto);
-                        }
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.APPROVAL_REJECTION, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode());
                     }
                     break;
                 case ORDER_COMPLETED:
@@ -862,12 +858,16 @@
                     break;
                 case ORDER_CANCELLED:
                     //已取消
-                    buildPushOrderStatus(orderId, OrderStatusEnum.CANCELED, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.CANCELED.getCode());
+                    if(!orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.CANCELED, sequence);
+                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.CANCELED.getCode());
+                    }
                     break;
                 case ORDER_ARRIVED_AT_CRUISE_DESTINATION:
                     //到达巡游终点
-                    buildPushOrderStatus(orderId, OrderStatusEnum.COMPLETED, sequence);
+                    if(orderId.contains("XU")){
+                        buildPushOrderStatus(orderId, OrderStatusEnum.COMPLETED, sequence);
+                    }
                     break;
                 case ORDER_PAUSED:
                     //订单暂停

--
Gitblit v1.7.1