From b7bb5daa5f4ffe1764a363a051a5d6f868168cf9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 11 五月 2026 20:56:31 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.1

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 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 ab2644f..22d0907 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
@@ -445,6 +445,7 @@
                     dto.setRouteType(1);
                     dto.setLongitude(longitude);
                     dto.setLatitude(latitude);
+                    dto.setSpeed(dynamicStatus.getSpeed());
                     if (rtTripInfo.hasCurrentTask() && rtTripInfo.getCurrentTask().hasNaviProgressInfo()) {
                         dto.setDuration(rtTripInfo.getCurrentTask().getNaviProgressInfo().getRouteRemainTime());
                         dto.setDistance(rtTripInfo.getCurrentTask().getNaviProgressInfo().getRouteRemainDist());
@@ -661,7 +662,7 @@
         LonLatDto origin = new LonLatDto();
         RouteVo routeVo = null;
         String key = "";
-
+        Float speed = 0f;
 
         //添加redis锁,用于在发生偏航后重新规划线路与正常推送剩余导航数据之间的冲突
         RLock lock = redissonClient.getLock("PUSH_ORDER_ROUTE_LOCK:" + orderId);
@@ -700,6 +701,13 @@
             } else if(orderId.contains("TEST")){
                 R<XpTestOrder> cruiseOrder = testOrderClient.queryOrderById(Long.parseLong(orderId.substring(4)));
                 XpTestOrder testOrder = cruiseOrder.getData();
+
+                XpVehicle xpVehicle = xpVehicleClient.queryById(testOrder.getVehicleId()).getData();
+                VehiclePosition vehiclePosition = mongoTemplate.findOne(Query.query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+                if(null != vehiclePosition){
+                    speed = vehiclePosition.getSpeed();
+                }
+
                 //区分测试单和测试巡游单
                 if(1 == testOrder.getOrderType()){
                     orderType = OrderType.TEST_ORDER;
@@ -778,6 +786,10 @@
                 }
                 XpOrder xpOrder = xpOrderR.getData();
                 XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
+                VehiclePosition vehiclePosition = mongoTemplate.findOne(Query.query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+                if(null != vehiclePosition){
+                    speed = vehiclePosition.getSpeed();
+                }
                 //驶往上车点的行程
                 if (3 == xpOrder.getStatus()) {
                     //查询司机当前位置到起点的线路
@@ -833,6 +845,7 @@
                     dto.setRouteType(1);
                     dto.setLongitude(longitude);
                     dto.setLatitude(latitude);
+                    dto.setSpeed(speed);
                     if (null != routeVo) {
                         dto.setDuration(null == routeVo.getDuration() ? 0 : routeVo.getDuration().doubleValue());
                         dto.setDistance(null == routeVo.getDistance() ? 0 : routeVo.getDistance().doubleValue());

--
Gitblit v1.7.1