From f9df4519a06928dd85c0e98cbfa8f7090c12d95e Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 26 三月 2026 21:10:46 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
index 4bec6a0..a46957c 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpTestOrderServiceImpl.java
@@ -154,9 +154,8 @@
      */
     @Override
     public void addTestOrder(AddTestOrderVo query) {
-        XpTestPlanPoint xpTestPlanPoint = xpTestPlanClient.getXpTestPlanPointById(query.getTestPlanPointId()).getData();
-        Long startTestPointId = xpTestPlanPoint.getStartTestPointId();
-        Long endTestPointId = xpTestPlanPoint.getEndTestPointId();
+        Long startTestPointId = query.getStartTestPointId();
+        Long endTestPointId = query.getEndTestPointId();
         XpTestPoint xpPoint = xpTestPlanClient.getXpTestPointById(startTestPointId).getData();
         XpTestPoint endXpPoint = xpTestPlanClient.getXpTestPointById(endTestPointId).getData();
         if(xpPoint ==null || xpPoint.getOperationStatus()!=2){
@@ -222,6 +221,7 @@
 
         // 生成订单数据
         XpTestOrder xpOrder = new XpTestOrder();
+        xpOrder.setTestPlanId(query.getTestPlanId());
         xpOrder.setOrderType(query.getOrderType());
         xpOrder.setMileageKilometers(0.0);
         xpOrder.setOrderNumber("XP" + System.currentTimeMillis());
@@ -253,15 +253,16 @@
         xpOrder.setCreateTime(LocalDateTime.now());
 
         xpOrder.setCityCode(openCity.getCityCode());
-        List<XpTestPlanVehicle> data = xpTestPlanClient.getXpTestPlanVehicleByTestPlanId(query.getTestPlanId()).getData();
-        for (XpTestPlanVehicle datum : data) {
-            XpVehicle xpVehicle = xpVehicleClient.queryById(datum.getVehicleId()).getData();
-            xpOrder.setVehicleId(datum.getVehicleId());
+        List<Long> vehicleIds = query.getVehicleIds();
+
+        for (Long vehicleId : vehicleIds) {
+            XpVehicle xpVehicle = xpVehicleClient.queryById(vehicleId).getData();
+            xpOrder.setVehicleId(vehicleId);
             xpOrder.setFleetId(xpVehicle.getFleetId());
             this.save(xpOrder);
             redisService.setCacheObject("ORDER_STATUS:" + xpOrder.getId(), 1, 24L, TimeUnit.HOURS);
             //缓存导航数据,用于下单后推送导航给车端和乘客端
-            redisService.setCacheObject("TEST_ORDER_NAVIGATION_END_DATA:" + datum.getVehicleId(), JSON.toJSONString(routeVo), 24L, TimeUnit.HOURS);
+            redisService.setCacheObject("TEST_ORDER_NAVIGATION_END_DATA:" + vehicleId, JSON.toJSONString(routeVo), 24L, TimeUnit.HOURS);
             //下发XPU消息
             PushOrderDto pushOrderDto = new PushOrderDto();
             pushOrderDto.setVin(xpVehicle.getVehicleVin());

--
Gitblit v1.7.1