From 4f01fa9a654ea4935d6bf8ce97c2485a9113497d Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 01 三月 2026 03:37:19 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index c6e79aa..caac4b6 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -51,6 +51,7 @@
 import com.xiaopeng.api.vo.OrderType;
 import com.xiaopeng.api.vo.account.GetUserListByUidsVo;
 import com.xiaopeng.api.vo.account.UserCouponVo;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
 import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudOrderOperation.OrderOperationType;
 import com.xiaopeng.api.vo.operation.RouteVo;
 import com.xiaopeng.api.vo.order.*;
@@ -1051,7 +1052,7 @@
         // 消息推送
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> content = new HashMap<>();
-        content.put("orderId", order.getId());
+        content.put("orderId", order.getId().toString());
         content.put("status", OrderStatusEnum.CANCELED.getCode());
         params.put("type", PushMessageTypeEnum.ORDER_STATUS.getDesc());
         params.put("content", com.alibaba.fastjson2.JSONObject.toJSONString(content));
@@ -2024,9 +2025,10 @@
                 userVehicleClient.addTaxiPassenger(addTaxiPassengerVo);
                 //推送乘客车辆到达预约点的导航数据
                 sendRoute(addTaxiPassengerVo.getUid(), orderId, "ORDER_NAVIGATION_START_DATA");
+                sendRoute(order.getAppUserId().toString(), orderId, "ORDER_NAVIGATION_START_DATA", dto.getXpVehicleVin());
             }else{
                 //推送行起点到终点的驶轨迹给乘客端
-                sendRoute(order.getAppUserId().toString(), orderId, "ORDER_NAVIGATION_END_DATA");
+                sendRoute(order.getAppUserId().toString(), orderId, "ORDER_NAVIGATION_END_DATA", dto.getXpVehicleVin());
             }
         }
     }
@@ -2037,7 +2039,8 @@
      * @param appUserId
      * @param keyStr
      */
-    public void sendRoute(String appUserId, Long orderId, String keyStr){
+    public void sendRoute(String appUserId, Long orderId, String keyStr, String vin){
+        VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
         Object cacheObject = redisService.getCacheObject(keyStr + ":" + appUserId);
         if(null != cacheObject){
             RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
@@ -2047,6 +2050,7 @@
             JSONObject content = new JSONObject();
             content.put("orderId", orderId);
             content.put("routeType", "ORDER_NAVIGATION_START_DATA".equals(keyStr) ? 1 : 2);
+            content.put("direction", null != vehiclePosition ? vehiclePosition.getCourse() : 0);
             JSONObject route = new JSONObject();
             route.put("distance", routeVo.getDistance());
             route.put("duration", routeVo.getDuration());

--
Gitblit v1.7.1