xuhy
2026-03-11 ef32f6913325bb593d537b4ff433545f73ecb79a
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -19,9 +19,6 @@
import com.xiaopeng.api.model.order.XpOrder;import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.SystemEventType;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.RTTask;
import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.TaskStatus;
import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.TaskType;
import com.xiaopeng.api.vo.automaticPilot.protobuf.*;
import com.xiaopeng.api.vo.operation.RouteVo;
import com.xiaopeng.api.vo.order.OrderTrajectoryVo;
@@ -66,9 +63,10 @@
    @PostMapping("/inner/pushOrder")
    public R<Boolean> pushOrder(@RequestBody PushOrderDto dto) {
        RtTask.Builder taskBuilder = RtTask.newBuilder();
        SnowFlake snowFlake = new SnowFlake(0, 0);
        snowFlake.withStartTimestamp(1420041600000L);
        taskBuilder.setOrderId(dto.getOrderId().toString());
        taskBuilder.setTaskId("MISSION_"+ IdUtil.fastUUID());
        taskBuilder.setTaskId(snowFlake.nextId() + "");
        if(dto.getOrderId().contains("XU")){
            taskBuilder.setTaskType(OrderType.ORDER_TYPE_CRUISE);
@@ -102,6 +100,7 @@
            pointBuilderEnd.setPoint(geoPointBuilder.build());
            taskBuilder.addPoints(pointBuilderEnd);
            taskBuilder.setSequence(1);
            taskBuilder.addOrderPhase(OrderPhase.ROUTE_TO_CRUISE);
        }else{
            //用户订单
            if(dto.getStage() == 1){
@@ -127,6 +126,7 @@
                pointBuilderEnd.setPoint(geoPointBuilder.build());
                taskBuilder.addPoints(pointBuilderEnd);
                taskBuilder.setSequence(1);
                taskBuilder.addOrderPhase(OrderPhase.ROUTE_TO_PICKUP);
            }else{
                //构建上车点位置信息
                pointBuilderStart.setWaypointId(dto.getOrderId() + "-SD-001");
@@ -150,13 +150,12 @@
                pointBuilderEnd.setPoint(geoPointBuilder.build());
                taskBuilder.addPoints(pointBuilderEnd);
                taskBuilder.setSequence(2);
                taskBuilder.addOrderPhase(OrderPhase.ROUTE_TO_DESTINATION);
            }
        }
        RtTaskList.Builder taskListBuilder = RtTaskList.newBuilder();
        taskListBuilder.addTasks(taskBuilder.build());
        SnowFlake snowFlake = new SnowFlake(0, 0);
        snowFlake.withStartTimestamp(1420041600000L);
        long sequence = snowFlake.nextId();
        MqttPublishDto mqttPublishDto = xpuUtil.cloudCreateOrder(taskListBuilder.build(), dto.getVin(),sequence);
        //先将车辆修改状态,防止在异步通知之前被其他订单选中