From ad0f3c5321e4f1ba6388c8ada1462b978c25674d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 12 五月 2026 21:10:36 +0800
Subject: [PATCH] 修改bug
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 62 ++++++++++++++++++-------------
1 files changed, 36 insertions(+), 26 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 2e17420..81e04e0 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
@@ -946,13 +946,6 @@
});
}
- //给XPU推送订单取消的报文
-// PushOrderDto pushOrderDto = new PushOrderDto();
-// pushOrderDto.setOrderId(order.getId().toString());
-// pushOrderDto.setVin(xpVehicle.getVehicleVin());
-// pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
-// orderMissionClient.cancelOrder(pushOrderDto);
-
//结束行程,修改状态和计算费用
endTrip(order.getId(), appUserId.toString());
@@ -1401,7 +1394,9 @@
Long userId = Long.valueOf(uid);
// - 新用户处理: 历史订单数 < 3单或无匹配数据时,隐藏该胶囊。
Long validHistoryCount = this.baseMapper.countUserValidHistoryOrders(userId);
- if (validHistoryCount == null || validHistoryCount < 3) return null;
+ if (validHistoryCount == null || validHistoryCount < 3) {
+ return null;
+ }
LocalDateTime now = LocalDateTime.now();
LocalTime startMoment = now.minusHours(1).toLocalTime();
@@ -1415,7 +1410,10 @@
endPointId.addAll(this.baseMapper.frequencyOrders(startDate, endDate, startMoment, endMoment, userId));
Integer minOrderDistance = getMinOrderDistanceSafely(uid, startPointId);
- if (minOrderDistance == null) return null;//获取用户最短可发单距离失败
+ //获取用户最短可发单距离失败
+ if (minOrderDistance == null) {
+ return null;
+ }
XpPoint start = getPointById(startPointId);
GlobalCoordinates startCoordinates = new GlobalCoordinates(start.getPointLon(), start.getPointLat());
List<Long> pointIdsByUserId = Optional.ofNullable(xpAppUserCollectAddrClient.getPointIdsByUserId(Long.valueOf(uid)).getData())
@@ -2039,7 +2037,7 @@
}
@Override
- public R<String> updateOrderStatus(Long orderId, Integer status, Boolean orderException) {
+ public R<String> updateOrderStatus(Long orderId, Integer status) {
XpOrder xpOrder = this.getById(orderId);
if (Objects.isNull(xpOrder)) {
return R.fail("订单不存在");
@@ -2215,20 +2213,34 @@
if (StringUtils.isNotEmpty(json)) {
JSONObject jsonObject = JSON.parseObject(json);
Long id = jsonObject.getLong("orderId");
- jobMaps = new ImmutableMap.Builder<String, String>()
- .put("id", id.toString())
- .put("oldOrderId", xpOrder.getId().toString())
- .put("appid", appid)
- .put("orderType", OrderType.USER_ORDER)
- .build();
+ //判断订单状态
+ XpOrder xpOrder1 = this.getById(id);
+ if(2 == xpOrder1.getStatus()){
+ jobMaps = new ImmutableMap.Builder<String, String>()
+ .put("id", id.toString())
+ .put("oldOrderId", xpOrder.getId().toString())
+ .put("appid", appid)
+ .put("orderType", OrderType.USER_ORDER)
+ .build();
- QuartzManager.addJob(
- PushChainReactionOrderJob.class,
- (PushChainReactionOrderJob.name + id).toUpperCase(),
- TimeJobType.ADD_CHAIN_REACTION_ORDER_MISSION,
- DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())),
- jobMaps
- );
+ QuartzManager.addJob(
+ PushChainReactionOrderJob.class,
+ (PushChainReactionOrderJob.name + id).toUpperCase(),
+ TimeJobType.ADD_CHAIN_REACTION_ORDER_MISSION,
+ DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())),
+ jobMaps
+ );
+ }
+ //连环派订单取消的情况,继续走巡游
+ if(0 == xpOrder1.getStatus()){
+ QuartzManager.addJob(
+ AddCruiseMissionJob.class,
+ (AddCruiseMissionJob.name + xpOrder.getId()).toUpperCase(),
+ TimeJobType.ADD_CRUISE_MISSION,
+ DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())),
+ jobMaps
+ );
+ }
} else {
QuartzManager.addJob(
AddCruiseMissionJob.class,
@@ -2770,8 +2782,6 @@
baseMapper.updateById(order);
}
-
-
if (order.getCouponId() != null) {
// UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
// useUserCouponDto.setUserId(Long.valueOf(uid));
@@ -3670,7 +3680,7 @@
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
- log.info("推送订单状态消息失败:{} {} {}", stringR1.getMsg(), JSON.toJSONString(dto), order.getOrderNumber());
+ log.info("推送订单状态消息失败:{} {} {}", stringR1.getMsg(), JSON.toJSONString(dto1), order.getOrderNumber());
}
});
}
--
Gitblit v1.7.1