From 216d50aa9f7d2402dea1ca2087c5f23255916664 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 21 三月 2026 19:39:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 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 621e44f..ef69498 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
@@ -874,6 +874,14 @@
                 case ORDER_CANCELLED:
                     //已取消
                     if(!orderId.contains("XU")){
+                        //判断订单状态,已经取消的不作处理
+                        Object cacheObject = redisService.getCacheObject("ORDER_STATUS:" + orderId);
+                        if(null != cacheObject){
+                            int order_status = Integer.parseInt(cacheObject.toString());
+                            if(0 == order_status){
+                                return;
+                            }
+                        }
                         //行程中取消订单,按照行程结束处理
                         buildPushOrderStatus(orderId, OrderStatusEnum.SEE_OFF_GUESTS, sequence);
                         xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
@@ -904,9 +912,6 @@
     public void buildPushOrderStatus(String orderId, OrderStatusEnum status, Long sequence){
         if(orderId.contains("XU")){
             //巡游单
-            //响应消息
-            // TODO 1.处理结束当前巡游订单  2.创建新的巡游订单 返航  3.调用xpu车机接口  (判断是返航还是正常  返航需要存储之前的订单id)
-            responseMessage(sequence, "");
             //到达目的地
             if(OrderStatusEnum.COMPLETED.equals(status)){
                 // 返程找到目前的订单 -》之前的订单 查询生成一个   正常巡游 找到下一个点位   若到达最后点位  则反向找点位  每次判断是否收车状态 是则不进行处理了
@@ -919,6 +924,8 @@
                     xpCruiseOrderClient.completeCruiseOrder(Long.parseLong(orderId.substring(2)));
                     R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId);
                     XpVehicle xpVehicle = xpVehicleR.getData();
+                    //响应消息
+                    responseMessage(sequence, xpVehicle.getVehicleVin());
                     // 运营中 继续执行
                     if(xpVehicle.getOperatingStatus()==1 && xpVehicle.getState()==0){
                         log.info("巡游单到达终点,继续执行下一笔巡游单");

--
Gitblit v1.7.1