From 8500b3177e47e88f18d6fb20611f6113f6ecec74 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 18 四月 2026 10:08:46 +0800
Subject: [PATCH] 增加异常订单结束后的对接客服工单
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 4945338..835c4f9 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -72,10 +72,7 @@
import com.xiaopeng.order.dto.MileageDto;
import com.xiaopeng.order.job.base.QuartzManager;
import com.xiaopeng.order.job.base.TimeJobType;
-import com.xiaopeng.order.job.jobs.AddCruiseMissionJob;
-import com.xiaopeng.order.job.jobs.EndTripJob;
-import com.xiaopeng.order.job.jobs.OrderCancelJob;
-import com.xiaopeng.order.job.jobs.PushChainReactionOrderJob;
+import com.xiaopeng.order.job.jobs.*;
import com.xiaopeng.order.mangodb.model.OrderTrajectory;
import com.xiaopeng.order.mangodb.service.OrderTrajectoryService;
import com.xiaopeng.order.mapper.XpCruiseOrderMapper;
@@ -1788,7 +1785,7 @@
}
@Override
- public R<String> updateOrderStatus(Long orderId, Integer status) {
+ public R<String> updateOrderStatus(Long orderId, Integer status, Boolean orderException) {
XpOrder xpOrder = this.getById(orderId);
if (Objects.isNull(xpOrder)) {
return R.fail("订单不存在");
@@ -1897,7 +1894,6 @@
});
}
- //创建定时结束订单和等待结束后下发巡游单的定时任务
Integer arriveTime = xpSystemSettingClient.getOrderFinishTime().getData();
// 添加自动结束行程定时任务job
Map<String, ? extends Object> endTripJobMaps =
@@ -1925,6 +1921,18 @@
.put("orderType", OrderType.USER_ORDER)
.build();
+ //如果是异常订单,需要定时创建客服工单
+ if(orderException){
+ XpSystemSetting xpSystemSetting = xpSystemSettingClient.getSystemSettingOne().getData();
+ QuartzManager.addJob(
+ OrderExceptionJob.class,
+ (OrderExceptionJob.name + xpOrder.getId()).toUpperCase(),
+ TimeJobType.ADD_CRUISE_MISSION,
+ DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(xpSystemSetting.getOrderExceptionalTimeout())),
+ jobMaps
+ );
+ }
+
//判断是否有连环单
Long id = redisService.getCacheObject(CacheConstants.nextOrder(xpOrder.getId().toString()));
if(id != null){
--
Gitblit v1.7.1