From d7858472963f6d81335d3d96df66df19455fcb3f Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 03 三月 2026 09:45:07 +0800
Subject: [PATCH] 完善订单下单数据

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index 55e00f7..5874b4c 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -28,11 +28,6 @@
 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.proto.down.cloudOrderOperation.ActionType;
-import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudOrderOperation.OrderOperationType;
-import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudOrderOperation.PointType;
-import com.xiaopeng.api.vo.automaticPilot.proto.up.navigationDeviationEvent.NavigationDeviationMessage;
-import com.xiaopeng.api.vo.automaticPilot.proto.up.orderStateUpdateEvent.OrderStatusInfoEvent;
 import com.xiaopeng.api.vo.automaticPilot.protobuf.*;
 import com.xiaopeng.api.vo.automaticPilot.protobuf.AbnormalReason;
 import com.xiaopeng.api.vo.automaticPilot.protobuf.GearLevel;
@@ -877,24 +872,25 @@
                             lastXpCruiseOrder.setId("XU"+ IdUtil.fastUUID());
                             lastXpCruiseOrder.setStatus(1);
                             xpCruiseOrderClient.addCruiseOrder(lastXpCruiseOrder);
-
-
-
-                            // 获取点位id
-                            Long endPointId = xpCruiseOrder.getEndPointId();
-                            // 获取点位信息 获取点位是否需要停车
-//                            xpCruisePlanClient.getPlanPointInfo(endPointId);
-
-
-
+                            //构建下发XPU订单报文数据
                             RtTask.Builder taskBuilder = RtTask.newBuilder();
                             taskBuilder.setOrderId(lastXpCruiseOrder.getId());
                             taskBuilder.setTaskId("MISSION_"+ IdUtil.fastUUID());
                             taskBuilder.setTaskType(com.xiaopeng.api.vo.automaticPilot.protobuf.OrderType.ORDER_TYPE_CRUISE);
+                            //构建点位信息
+                            Waypoint.Builder pointBuilder = Waypoint.newBuilder();
+                            pointBuilder.setPointType(PointType.CRUISE_END_POINT);
+                            pointBuilder.setSequence(1);
+                            //构建终点坐标
+                            GeoPoint.Builder geoPointBuilder = GeoPoint.newBuilder();
+                            geoPointBuilder.setLatitude(lastXpCruiseOrder.getEndLat());
+                            geoPointBuilder.setLongitude(lastXpCruiseOrder.getEndLat());
+                            // geoPointBuilder.setPoiName("Start Point"); // GeoPoint might not have poi_name
+                            pointBuilder.setPoint(geoPointBuilder.build());
+                            taskBuilder.addPoints(pointBuilder);
 
                             RtTask task = taskBuilder.build();
                             RtTaskList taskList = RtTaskList.newBuilder().addTasks(task).build();
-
 
                             SnowFlake snowFlake = new SnowFlake(0, 0);
                             snowFlake.withStartTimestamp(1420041600000L);
@@ -929,10 +925,23 @@
                             if(cruisePoint!=null){
                                 xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData());
                                 RtTask.Builder taskBuilder = RtTask.newBuilder();
-                                //TODO 设置目标地点信息
+
                                 taskBuilder.setOrderId(newXpCruiseOrder.getId());
                                 taskBuilder.setTaskId("MISSION_"+ IdUtil.fastUUID());
                                 taskBuilder.setTaskType(com.xiaopeng.api.vo.automaticPilot.protobuf.OrderType.ORDER_TYPE_CRUISE);
+
+                                //构建点位信息
+                                Waypoint.Builder pointBuilder = Waypoint.newBuilder();
+                                pointBuilder.setPointType(PointType.CRUISE_END_POINT);
+                                pointBuilder.setSequence(1);
+                                //构建终点坐标
+                                GeoPoint.Builder geoPointBuilder = GeoPoint.newBuilder();
+                                geoPointBuilder.setLatitude(cruisePoint.getData().getEndLat());
+                                geoPointBuilder.setLongitude(cruisePoint.getData().getEndLat());
+                                // geoPointBuilder.setPoiName("Start Point"); // GeoPoint might not have poi_name
+                                pointBuilder.setPoint(geoPointBuilder.build());
+                                taskBuilder.addPoints(pointBuilder);
+
                                 RtTaskList.Builder taskListBuilder = RtTaskList.newBuilder();
                                 taskListBuilder.addTasks(taskBuilder.build());
 

--
Gitblit v1.7.1