From bbd837a72bb9ec1bcef044624960345f98969a49 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 26 三月 2026 16:53:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java | 37 +++++++++++++++++++++++++++++++++++--
1 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
index 3541fc0..a60ebd0 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -19,7 +19,6 @@
import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.order.XpOrder;import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
-import com.xiaopeng.api.vo.OrderType;
import com.xiaopeng.api.vo.SystemEventType;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.automaticPilot.protobuf.*;
@@ -104,6 +103,7 @@
taskBuilder.addOrderPhase(OrderPhase.ROUTE_TO_CRUISE);
taskListBuilder.addTasks(taskBuilder.build());
}else if(dto.getOrderType().equals(com.xiaopeng.api.vo.OrderType.USER_ORDER)){
+ //乘客单
for (int i = 1; i < 3; i++) {
RtTask.Builder taskBuilder = RtTask.newBuilder();
taskBuilder.setOrderId(dto.getOrderId().toString());
@@ -162,6 +162,7 @@
taskListBuilder.addTasks(taskBuilder.build());
}
}else if(dto.getOrderType().equals(com.xiaopeng.api.vo.OrderType.TEST_ORDER)){
+ //测试单
for (int i = 1; i < 3; i++) {
RtTask.Builder taskBuilder = RtTask.newBuilder();
taskBuilder.setOrderId(dto.getOrderId().toString());
@@ -219,12 +220,44 @@
}
taskListBuilder.addTasks(taskBuilder.build());
}
+ }else if(dto.getOrderType().equals(com.xiaopeng.api.vo.OrderType.TEST_CRUISE_ORDER)){
+ //测试单巡游单
+ RtTask.Builder taskBuilder = RtTask.newBuilder();
+ taskBuilder.setOrderId(dto.getOrderId().toString());
+ taskBuilder.setTaskId(snowflake.nextId() + "");
+ taskBuilder.setTaskType(OrderType.ORDER_TYPE_CRUISE);
+ //构建起点坐标数据
+ pointBuilderStart.setWaypointId(dto.getOrderId() + "-001");
+ pointBuilderStart.setPointType(PointType.START_POINT);
+ pointBuilderStart.setSequence(1);
+ pointBuilderStart.setActionType(ActionType.ACTION_UNSPECIFIED);
+ GeoPoint.Builder geoPointBuilder = GeoPoint.newBuilder();
+ geoPointBuilder.setLatitude(dto.getStartLatitude());
+ geoPointBuilder.setLongitude(dto.getStartLongitude());
+ pointBuilderStart.setPoint(geoPointBuilder.build());
+ taskBuilder.addPoints(pointBuilderStart);
+
+ //构建终点数据
+ pointBuilderEnd.setWaypointId(dto.getOrderId() + "-002");
+ pointBuilderEnd.setPointType(PointType.CRUISE_END_POINT);
+ pointBuilderEnd.setSequence(2);
+ pointBuilderEnd.setActionType(ActionType.DRIVE_THROUGH);
+ geoPointBuilder = GeoPoint.newBuilder();
+ geoPointBuilder.setLatitude(dto.getEndLatitude());
+ geoPointBuilder.setLongitude(dto.getEndLongitude());
+ pointBuilderEnd.setPoint(geoPointBuilder.build());
+ taskBuilder.addPoints(pointBuilderEnd);
+ taskBuilder.setSequence(1);
+ taskBuilder.addOrderPhase(OrderPhase.ROUTE_TO_CRUISE);
+ taskListBuilder.addTasks(taskBuilder.build());
}
long sequence = snowflake.nextId();
MqttPublishDto mqttPublishDto = xpuUtil.cloudCreateOrder(taskListBuilder.build(), dto.getVin(),sequence);
//先将车辆修改状态,防止在异步通知之前被其他订单选中
- if (!dto.getOrderId().contains("XU") && mqttPublishDto.getCode()== 200) {
+ if(!dto.getOrderType().equals(com.xiaopeng.api.vo.OrderType.CRUISE_ORDER) &&
+ !dto.getOrderType().equals(com.xiaopeng.api.vo.OrderType.TEST_CRUISE_ORDER)
+ && mqttPublishDto.getCode()== 200){
// 修改车子为接单状态
xpVehicleClient.updateVehicleStatus(new UpdateVehicleStateDto(dto.getVin(), 1));
}
--
Gitblit v1.7.1