From c98d3f2fc620b3f5d699e2be34eaabc1033b42b2 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 11 三月 2026 16:17:32 +0800
Subject: [PATCH] 修改巡游订单部分逻辑
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java | 42 ++++++++++++++++++++++++++++++------------
1 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
index f1bf8a5..49239eb 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
@@ -52,34 +52,50 @@
* @param vin
*/
@Override
- public String updateCruiseOrder(String vin) {
+ public Long updateCruiseOrder(String vin) {
LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
if (xpCruiseOrder != null) {
xpCruiseOrder.setStatus(2);
this.update(xpCruiseOrder, wrapper);
- // todo 给XPU下发订单取消报文,如果取消不成功需要重试。两次不成功,则需要换车
PushOrderDto pushOrderDto = new PushOrderDto();
pushOrderDto.setVin(vin);
- pushOrderDto.setOrderId(xpCruiseOrder.getId());
- pushOrderDto.setOperation_type(OrderOperationType.VEHICLE_CANCEL_ORDER);
+ pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
+ pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
if(booleanR==null || !booleanR.getData()){
- log.error("下发失败重试一次");
- R<Boolean> booleanR1 = orderMissionClient.cancelOrder(pushOrderDto);
- if(booleanR1==null || !booleanR1.getData()){
- log.error("换车");
- return null;
- }
+ log.error("XPU取消巡游订单失败");
+ return null;
}
-
return xpCruiseOrder.getId();
}
return null;
}
+
@Override
- public String closeCruiseOrder(String vin) {
+ public R updateCruiseOrderId(Long orderId) {
+ XpCruiseOrder xpCruiseOrder = this.getById(orderId);
+ if (xpCruiseOrder != null) {
+ xpCruiseOrder.setStatus(2);
+ xpCruiseOrder.setVehicleId(null);
+ this.updateById(xpCruiseOrder);
+ PushOrderDto pushOrderDto = new PushOrderDto();
+ pushOrderDto.setVin(xpCruiseOrder.getVehicleVin());
+ pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
+ pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
+ R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
+ if(booleanR==null || !booleanR.getData()){
+ log.error("XPU取消巡游订单失败");
+ return R.fail("XPU取消巡游订单失败");
+ }
+ return R.ok();
+ }
+ return R.fail("获取订单失败");
+ }
+
+ @Override
+ public Long closeCruiseOrder(String vin) {
LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
if (xpCruiseOrder != null) {
@@ -90,6 +106,8 @@
return null;
}
+
+
@Override
public PageInfo<XpCruiseOrderPageVO> pageList(XpCruiseOrderPageQuery query) {
PageInfo<XpCruiseOrderPageVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
--
Gitblit v1.7.1