From f0d39e6bd3237dff0ed393a7f8476ee253fb220b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 25 二月 2026 16:12:00 +0800
Subject: [PATCH] 修改推送导航数据逻辑

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 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 580457b..767e390 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
@@ -481,6 +481,7 @@
         LonLatDto origin = new LonLatDto();
         //导航id
         String routeID = "";
+        Long vehicleId = null;
         if (orderId.contains("XU")) {
             // todo 下发巡游单的导航数据
             //巡游单
@@ -503,6 +504,9 @@
                 }
                 RouteVo routeVo = routeVoR.getData();
                 routeID = routeVo.getRouteID();
+
+
+                vehicleId = xpOrder.getVehicleId();
             }
         } else {
             //正常单
@@ -566,15 +570,17 @@
                     routeID = routeVo.getRouteID();
                 }
             }
-            if(StringUtils.isNotEmpty(routeID)){
-                XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
-                R<String> stringR = xpMapClient.queryRouted(routeID);
-                if (200 != stringR.getCode()) {
-                    throw new RuntimeException("根据导航ID获取车端需要的导航数据失败");
-                }
-                //构建导航下发请求对象
-                cloudPushNavigationInfo(requestId, routeID, stringR.getData(), orderId, xpVehicle.getVehicleVin(), xpVehicle.getXpuId());
+            vehicleId = xpOrder.getVehicleId();
+        }
+
+        if(StringUtils.isNotEmpty(routeID)){
+            XpVehicle xpVehicle = xpVehicleClient.queryById(vehicleId).getData();
+            R<String> stringR = xpMapClient.queryRouted(routeID);
+            if (200 != stringR.getCode()) {
+                throw new RuntimeException("根据导航ID获取车端需要的导航数据失败");
             }
+            //构建导航下发请求对象
+            cloudPushNavigationInfo(requestId, routeID, stringR.getData(), orderId, xpVehicle.getVehicleVin(), xpVehicle.getXpuId());
         }
     }
 

--
Gitblit v1.7.1