From 3dc9055963af0208156aad81936ee39912b9ccbf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 29 四月 2026 09:00:23 +0800
Subject: [PATCH] 修改遗漏功能及新增其他功能接口

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
index d123c33..13af90e 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
@@ -52,6 +52,7 @@
 import com.xiaopeng.order.job.base.TimeJobType;
 import com.xiaopeng.order.job.jobs.EndTripJob;
 import com.xiaopeng.order.job.jobs.OrderCancelJob;
+import com.xiaopeng.order.job.jobs.TestOrderCancelJob;
 import com.xiaopeng.order.mangodb.model.OrderTrajectory;
 import com.xiaopeng.order.mapper.XpCruiseOrderMapper;
 import com.xiaopeng.order.mapper.XpTestOrderDetailMapper;
@@ -138,6 +139,9 @@
 
     @Resource
     private BootCommonService bootCommonService;
+
+    @Resource
+    private XpTradingStrategyClient tradingStrategyClient;
 
     @Resource(name = "hutoolSnowflake")
     private Snowflake snowflake;
@@ -896,9 +900,9 @@
                                     put("id", xpOrder.getId())
                                     .build();
                     QuartzManager.addJob(
-                            OrderCancelJob.class,
-                            (OrderCancelJob.name + xpOrder.getId()).toUpperCase(),
-                            TimeJobType.ORDER_CANCEL,
+                            TestOrderCancelJob.class,
+                            (TestOrderCancelJob.name + xpOrder.getId()).toUpperCase(),
+                            TimeJobType.TEST_ORDER_CANCEL,
                             DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(xpPoint.getParkingTimeLimit())),
                             cancelJobMaps
                     );
@@ -910,9 +914,27 @@
                     xpOrder.setBoardingTime(now);
                     xpOrder.setRideTime(now);
                     // 删除定时任务job
-                    QuartzManager.removeJob((OrderCancelJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.ORDER_CANCEL);
+                    QuartzManager.removeJob((TestOrderCancelJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.TEST_ORDER_CANCEL);
+                    //乘客已上车,重新倒计时不开始行程取消订单
+                    XpTestPoint xpPoint1 = xpTestPointClient.queryById(xpOrder.getStartTestPointId()).getData();
+                    XpTradingStrategy tradingStrategy = tradingStrategyClient.getTradingStrategyByCityCode(xpPoint1.getCityCode()).getData();
+                    if(null != tradingStrategy){
+                        Map<String, ? extends Object> cancelJobMaps1 =
+                                new ImmutableMap.Builder<String, Long>()
+                                        .put("id", xpOrder.getId())
+                                        .build();
+                        QuartzManager.addJob(
+                                TestOrderCancelJob.class,
+                                (TestOrderCancelJob.name + xpOrder.getId()).toUpperCase(),
+                                TimeJobType.TEST_ORDER_CANCEL,
+                                DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(tradingStrategy.getBdNotBoardedTime())),
+                                cancelJobMaps1
+                        );
+                    }
                     break;
                 case 6:
+                    // 删除定时任务job
+                    QuartzManager.removeJob((TestOrderCancelJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.TEST_ORDER_CANCEL);
                     // 行程开始时间
                     xpOrder.setTripBegin(LocalDateTime.now());
                     redisService.deleteObject("TEST_ORDER_NAVIGATION_START_DATA:" + xpOrder.getVehicleId());

--
Gitblit v1.7.1