From e8cd57fc46fa84b0c095f7e93cb348c014d06eb4 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 21:00:03 +0800
Subject: [PATCH] 新增管理后台接口,修改小程序流程bug及其他相关功能

---
 xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/controller/PushOrderRouteController.java |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 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 bdcb061..3aa44fb 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
@@ -41,14 +41,19 @@
      */
     @PostMapping("/inner/v1/order/pushOrderRoute")
     public R<String> pushOrderRoute(@Validated @RequestBody PushOrderRouteDTO dto) {
-
+        // 查询订单信息
+        XpOrder xpOrder = xpOrderClient.queryOrderById(dto.getOrderId()).getData();
+        // 封装消息内容
+        Integer routeType = dto.getRouteType();
+        if(routeType == 2){
+            routeType = 3;
+        }else {
+            routeType = xpOrder.getStatus() == 3 ? 1 : 2;
+        }
         // 获取路线规划
-        RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType());
+        RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +routeType);
 
         if(Objects.nonNull(routeVo)){
-
-            // 查询订单信息
-            XpOrder xpOrder = xpOrderClient.queryOrderById(dto.getOrderId()).getData();
 
             // 计算实时点位到线段的最优截取
             List<LonLatDto> lonLatDtos = MapMatchingUtil.clipBySegmentDistance(routeVo.getPolyline(), new LonLatDto(dto.getLongitude(), dto.getLatitude()));
@@ -58,7 +63,7 @@
             routeVo.setPolyline(lonLatDtos);
 
             // 存储最新路线偏离缓存,后续进行轨迹截取
-            redisService.setCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType(), routeVo);
+            redisService.setCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +routeType, routeVo);
 
             // 封装轨迹点位集合
             Map<String, Object> polyline = new HashMap<>();
@@ -72,13 +77,6 @@
             route.put("duration",dto.getDuration());
             route.put("polyline",JSONObject.toJSONString(polyline));
 
-            // 封装消息内容
-            Integer routeType = dto.getRouteType();
-            if(routeType == 2){
-                routeType = 3;
-            }else {
-                routeType = xpOrder.getStatus() == 4 ? 1 : 2;
-            }
             Map<String, Object> content = new HashMap<>();
             content.put("orderId",dto.getOrderId());
             content.put("routeType",routeType);

--
Gitblit v1.7.1