From 6b7d9d7cff3704e048ee09b32f49d3d6a2358847 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 27 三月 2026 16:36:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 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 28daa9f..1142952 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
@@ -71,7 +71,7 @@
Integer distance = dto.getDistance();
Integer duration = dto.getDuration();
// 计算实时点位到线段的最优截取
- List<LonLatDto> lonLatDtos = MapMatchingUtil.getRemainingNavigation(routeVo.getPolyline(), dto.getLongitude(), dto.getLatitude());
+ Map<String, List<LonLatDto>> remainingNavigation = MapMatchingUtil.getRemainingNavigation(routeVo.getPolyline(), dto.getLongitude(), dto.getLatitude());
//当订单状态为5的时候(乘客已上车)需要推送导航的距离和剩余时间
//因为这个状态,车端推的依然是接驾的剩余里程和时间,就会导致数据和小程序的页面跳转匹配不上
//小程序是只要乘客上车后就跳转到行程开始页面
@@ -82,7 +82,10 @@
distance = routeVo.getDistance();
duration = routeVo.getDuration();
}
+ List<LonLatDto> lonLatDtos = remainingNavigation.get("unserved");
+ List<LonLatDto> lonLatDtos1 = remainingNavigation.get("served");
routeVo.setPolyline(lonLatDtos);
+ routeVo.setServed(lonLatDtos1);
// 存储最新路线偏离缓存,后续进行轨迹截取
redisService.setCacheObject(key, JSON.toJSONString(routeVo), 24L, TimeUnit.HOURS);
@@ -95,11 +98,19 @@
polylineMap.put("latitude",lonLatDto.getLatitude());
polyline.add(polylineMap);
}
+ List<Map<String, Object>> served = new ArrayList<>();
+ for (LonLatDto lonLatDto : lonLatDtos1) {
+ Map<String, Object> polylineMap = new HashMap<>();
+ polylineMap.put("longitude",lonLatDto.getLongitude());
+ polylineMap.put("latitude",lonLatDto.getLatitude());
+ served.add(polylineMap);
+ }
// 封装路由详情
Map<String, Object> route = new HashMap<>();
route.put("distance",distance);
route.put("duration",duration);
route.put("polyline",JSONObject.toJSONString(polyline));
+ route.put("served",JSONObject.toJSONString(served));
Map<String, Object> content = new HashMap<>();
content.put("orderId",dto.getOrderId().toString());
--
Gitblit v1.7.1