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-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java
index 2287637..a897f17 100644
--- a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java
+++ b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java
@@ -1,5 +1,6 @@
 package com.xiaopeng.pushMessage.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.xiaopeng.api.dto.operation.LonLatDto;
 import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO;
@@ -14,6 +15,7 @@
 import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.pushMessage.utils.MapMatchingUtil;
 import io.swagger.annotations.Api;
+import org.powermock.core.ListMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -22,6 +24,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 @Api(tags = "订单推送轨迹接口")
 @RestController
@@ -51,7 +54,15 @@
             routeType = xpOrder.getStatus() == 3 ? 1 : 2;
         }
         // 获取路线规划
-        RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +routeType);
+        String key = "";
+        //接驾情况,获取车辆位置到起点的导航
+        if(1 == routeType){
+            key = "ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId();
+        }else{
+            key = "ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId();
+        }
+        Object cacheObject = redisService.getCacheObject(key);
+        RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
 
         if(Objects.nonNull(routeVo)){
 
@@ -63,13 +74,17 @@
             routeVo.setPolyline(lonLatDtos);
 
             // 存储最新路线偏离缓存,后续进行轨迹截取
-            redisService.setCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +routeType, routeVo);
+//            redisService.setCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +routeType, routeVo);
+
+            redisService.setCacheObject(key, JSON.toJSONString(routeVo), 24L, TimeUnit.HOURS);
 
             // 封装轨迹点位集合
-            Map<String, Object> polyline = new HashMap<>();
+            List<Map<String, Object>> polyline = new ArrayList<>();
             for (LonLatDto lonLatDto : lonLatDtos) {
-                polyline.put("longitude",lonLatDto.getLongitude());
-                polyline.put("latitude",lonLatDto.getLatitude());
+                Map<String, Object> polylineMap = new HashMap<>();
+                polylineMap.put("longitude",lonLatDto.getLongitude());
+                polylineMap.put("latitude",lonLatDto.getLatitude());
+                polyline.add(polylineMap);
             }
             // 封装路由详情
             Map<String, Object> route = new HashMap<>();
@@ -78,7 +93,7 @@
             route.put("polyline",JSONObject.toJSONString(polyline));
 
             Map<String, Object> content = new HashMap<>();
-            content.put("orderId",dto.getOrderId());
+            content.put("orderId",dto.getOrderId().toString());
             content.put("routeType",routeType);
             content.put("direction",dto.getDirection());
             content.put("route",JSONObject.toJSONString(route));

--
Gitblit v1.7.1