From e4282457d992fd59acdaf0de9f150105a7015b9c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 21 四月 2026 14:38:46 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 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 7d0b959..154beb7 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
@@ -135,6 +135,9 @@
@RequiredArgsConstructor(onConstructor_ = @Lazy)
public class XpOrderServiceImpl extends ServiceImpl<XpOrderMapper, XpOrder> implements IXpOrderService {
+ private static final String REASSIGN_CANCEL_CONTEXT_PREFIX = "REASSIGN_CANCEL_CONTEXT:";
+ private static final long REASSIGN_CANCEL_CONTEXT_TTL_MINUTES = 5L;
+
private final UserResourcesClient userResourcesClient;
private final XpPointClient xpPointClient;
private final XpVehicleClient xpVehicleClient;
@@ -611,6 +614,8 @@
vo.setEndAddress(order.getEndAddress());
vo.setOrderMoney(order.getOrderMoney());
vo.setStatus(order.getStatus());
+ vo.setStartPointName(order.getStartPointName());
+ vo.setEndPointName(order.getEndPointName());
// 用户信息
if (Objects.nonNull(order.getAppUserId()) && userInfoMap != null && userInfoMap.containsKey(order.getAppUserId().toString())) {
@@ -1005,6 +1010,8 @@
cancelDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
cancelDto.setCancelScene(CancelOrderSceneEnum.REASSIGN_OLD_VEHICLE.getCode());
orderMissionClient.cancelOrder(cancelDto);
+ cacheReassignCancelContext(orderId, oldVehicleId, newVehicleId,
+ oldVehicle.getVehicleVin(), currentStatus);
log.info("已取消原车辆订单指令,订单ID: {}, VIN: {}, taskId: {}, cancelScene: {}",
orderId, oldVehicle.getVehicleVin(), cancelDto.getTaskId(), cancelDto.getCancelScene());
@@ -1151,6 +1158,22 @@
}
+ private void cacheReassignCancelContext(Long orderId, Long oldVehicleId, Long newVehicleId,
+ String oldVehicleVin, Integer preReassignStatus) {
+ JSONObject context = new JSONObject();
+ context.put("orderId", orderId);
+ context.put("oldVehicleId", oldVehicleId);
+ context.put("newVehicleId", newVehicleId);
+ context.put("oldVehicleVin", oldVehicleVin);
+ context.put("cancelScene", CancelOrderSceneEnum.REASSIGN_OLD_VEHICLE.getCode());
+ context.put("operationTime", System.currentTimeMillis());
+ context.put("preReassignStatus", preReassignStatus);
+ redisService.setCacheObject(REASSIGN_CANCEL_CONTEXT_PREFIX + orderId, context.toJSONString(),
+ REASSIGN_CANCEL_CONTEXT_TTL_MINUTES, TimeUnit.MINUTES);
+ log.info("记录改派取消上下文成功,orderId: {}, oldVehicleId: {}, newVehicleId: {}, preReassignStatus: {}",
+ orderId, oldVehicleId, newVehicleId, preReassignStatus);
+ }
+
/**
* 为原车辆创建返程巡游订单
* <p>
--
Gitblit v1.7.1