From af5ffb2c572c3188052b0d4b37c4bcec43f11c7d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 20 四月 2026 21:41:58 +0800
Subject: [PATCH] 增加修改目的地后的XPU消息下发
---
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java
index cce5b7b..e07837a 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java
@@ -2,18 +2,23 @@
import com.alibaba.fastjson2.JSON;
+import com.xiaopeng.api.dto.automaticPilot.PushOrderDto;
import com.xiaopeng.api.dto.operation.ReassignOrderDTO;
import com.xiaopeng.api.dto.order.OrderChangeDto;
+import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient;
import com.xiaopeng.api.feignClient.map.XpMapClient;
import com.xiaopeng.api.feignClient.operation.ReassignOrderClient;
import com.xiaopeng.api.feignClient.operation.XpPointClient;
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
+import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.operation.XpElectronicFence;
import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
import com.xiaopeng.api.model.operation.XpPoint;
import com.xiaopeng.api.model.operation.XpSystemSetting;
import com.xiaopeng.api.model.order.XpOrder;
+import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.automaticPilot.protobuf.OrderOperationType;
import com.xiaopeng.api.vo.operation.RouteOptionVo;
import com.xiaopeng.api.vo.operation.RouteVo;
import com.xiaopeng.common.core.constant.CacheConstants;
@@ -70,6 +75,10 @@
private RedisService redisService;
@Resource
private XpRoutePlanMapper xpRoutePlanMapper;
+ @Resource
+ private XpVehicleClient vehicleClient;
+ @Resource
+ private OrderMissionClient orderMissionClient;
/*
@@ -187,6 +196,16 @@
log.info("订单推单:{} {}", key, redisService.getCacheList(key));
xpOrder.setQueueName(key);
xpOrderClient.updateOrder(xpOrder);
+ //给车端推送修改目的地报文
+ XpVehicle xpVehicle = vehicleClient.queryById(xpOrder.getVehicleId()).getData();
+ PushOrderDto pushOrderDto = new PushOrderDto();
+ pushOrderDto.setOrderId(order.getId().toString());
+ pushOrderDto.setTaskId(order.getXpuTaskId());
+ pushOrderDto.setVin(xpVehicle.getVehicleVin());
+ pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CHANGE_DESTINATION);
+ orderMissionClient.cancelOrder(pushOrderDto);
+ log.info("订单下发XPU修改目的地成功 {}", order.getId());
+
// 判断当前订单的车辆是否有连环派单,然后判断是都还满足连环派单的条件,不满足则需要重新派单
Long nextOrderId = redisService.getCacheObject(CacheConstants.nextOrder(order.getId().toString()));
--
Gitblit v1.7.1