From 1ca66b10db05e7c9d5d653361d334f161b452c23 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 21:01:58 +0800
Subject: [PATCH] 合并代码

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
index 1f9b61e..52daaaf 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -42,9 +42,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.Date;import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
@@ -126,7 +124,6 @@
         if (!dto.getOrderId().contains("XU") && mqttPublishDto.getCode()== 200) {
             // 修改车子为接单状态
             xpVehicleClient.updateVehicleStatus(new UpdateVehicleStateDto(dto.getVin(),1));
-
             return R.ok(true);
         }
         return R.ok(false);
@@ -144,9 +141,17 @@
         SnowFlake snowFlake = new SnowFlake(0, 0);
         snowFlake.withStartTimestamp(1420041600000L);
         long sequence = snowFlake.nextId();
-        xpuUtil.cloudOrderOperation(operationBuilder.build(), dto.getVin(), sequence);
-        redisService.setCacheObject(String.valueOf(sequence), "cancelOrder_" + dto.getOrderId() + "_" + dto.getVin(), 30l, TimeUnit.MINUTES);
-        return R.ok(true);
+        MqttPublishDto mqttPublishDto = xpuUtil.cloudOrderOperation(operationBuilder.build(), dto.getVin(), sequence);
+
+        if (mqttPublishDto.getCode() == 200) {
+            if(!dto.getOrderId().contains("XU")){
+                // 正常订单处理
+                redisService.setCacheObject(String.valueOf(sequence), "cancelOrder_" + dto.getOrderId() + "_" + dto.getVin(), 30l, TimeUnit.MINUTES);
+            }
+            return R.ok(true);
+        }
+
+        return R.ok(false);
 
 
     }
@@ -196,8 +201,8 @@
             vehicleId = 11L;//默认使用造的测试车辆
         }
         if(null == startLat || null == startLon){
-            startLat = 23.157155D;
-            startLon = 113.382373D;
+            startLat = 30.583407D;
+            startLon = 104.040251D;
         }
         XpVehicle xpVehicle = xpVehicleClient.queryById(vehicleId).getData();
         XpOrder xpOrder = null;
@@ -275,8 +280,16 @@
         orderId = xpOrder.getId();
         String vin = xpVehicle.getVehicleVin();
         Long appUserId = xpOrder.getAppUserId();
-        Object cacheObject = redisService.getCacheObject("ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId());
-        RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
+//        Object cacheObject = redisService.getCacheObject("ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId());
+//        RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
+        RouteVo routeVo =new RouteVo();
+        ArrayList<LonLatDto> lonLatDtos = new ArrayList<>();
+        LonLatDto lonLatDto1 = new LonLatDto();
+        lonLatDto1.setLatitude(30.575685);
+        lonLatDto1.setLongitude(104.001118);
+        lonLatDtos.add(lonLatDto1);
+        routeVo.setPolyline(lonLatDtos);
+
 
         ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1000));
         Long finalOrderId = orderId;
@@ -287,7 +300,6 @@
             } catch (InterruptedException e) {
                 throw new RuntimeException(e);
             }
-
             List<LonLatDto> polyline = routeVo.getPolyline();
             for (LonLatDto lonLatDto : polyline) {
                 Double latitude = lonLatDto.getLatitude();

--
Gitblit v1.7.1