From f941da4ef0742ee067bcf9cb54ccf39c9ca2fefe Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 四月 2026 18:25:01 +0800
Subject: [PATCH] [feat]连环派代70%

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   19 ++++++++++++++++---
 1 files changed, 16 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 e5685b7..8a43dbc 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
@@ -62,9 +62,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 
 
 /**
@@ -1107,6 +1105,7 @@
 
     }
 
+    ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(20);
 
     /**
      * 订单状态更新事件
@@ -1202,6 +1201,19 @@
                     log.info("到达目的地,不做任何处理:{}", orderId);
                     break;
                 case ORDER_WAITING_FOR_DROPOFF:
+                    // 根据车辆id查询订单,如果未完成订单数量不唯一则下发循环订单任务
+                    List ret = new ArrayList(2);//TODO
+                    if(ret.size() > 1){
+                        scheduler.schedule(() -> {
+                            //下发循环订单任务
+//                        xpOrderClient.createLoopOrderTask(vin, orderId);
+                            log.info("下发循环订单任务:{}", orderId);
+                            // 修改订单状态,和推送消息的状态
+                        }, 3, TimeUnit.SECONDS);
+
+                        break;
+                    }
+
                     //等待乘客下车,开始倒计时发下巡游单
                     if(!orderId.contains("XU")){
                         if(orderId.contains("TEST")){
@@ -1211,6 +1223,7 @@
                             xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
                         }
                     }
+
                     break;
                 case ORDER_DROPOFF_COMPLETED:
                     //下车完成,不需要处理状态,由后续的乘客主动触发或者定时任务触发

--
Gitblit v1.7.1