From 73427c7a74686bd2a16e00c2ac9c28cf1de40c4c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期日, 01 三月 2026 07:41:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
index d147137..0c68941 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -3,14 +3,17 @@
 import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.xiaopeng.api.dto.QueryOrderRouteDTO;
 import com.xiaopeng.api.dto.order.GetOrderNumDto;
 import com.xiaopeng.api.dto.order.PopOrderDto;
 import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
 import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
+import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
 import com.xiaopeng.api.model.order.XpOrder;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
 import com.xiaopeng.api.vo.operation.RouteVo;
 import com.xiaopeng.api.vo.order.FareBreakdownVo;
 import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
@@ -40,7 +43,11 @@
 import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -67,6 +74,10 @@
 
     private final IXpOrderService xpOrderService;
     private final RedisService redisService;
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Autowired
+    private XpVehicleClient xpVehicleClient;
 
     /**
      * 获取订单统计数据(内部接口)
@@ -476,9 +487,24 @@
     public R<RouteVo> queryOrderRoute(@Validated @RequestBody QueryOrderRouteDTO dto, HttpServletRequest request) {
         String uid = request.getHeader("XP-Uid");
         // 查询订单信息
-//        XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
+        XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
         // 获取路线规划
-        RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType());
+//        RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType());
+
+        String key = "";
+        //接驾情况,获取车辆位置到起点的导航
+        if(xpOrder.getStatus() < 5){
+            key = "ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId();
+        }
+        //服务中,获取起点到终点的导航数据
+        if(xpOrder.getStatus() >= 5){
+            key = "ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId();
+        }
+        Object cacheObject = redisService.getCacheObject(key);
+        RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
+        XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
+        VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+        routeVo.setDirection(null != vehiclePosition ? vehiclePosition.getCourse() : 90);
         return R.ok(routeVo);
     }
 

--
Gitblit v1.7.1