From ba78f764042ca15bf3f3be62e7a3fc699df56d67 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 20:59:53 +0800
Subject: [PATCH] 提交管理后台新接口,修改XPU报文相关功能,增加测试小程序状态流转接口

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java |   68 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
index d34c0fa..822370d 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
@@ -152,8 +152,9 @@
         PageInfo<XpCruiseOrderPageVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>()
                 .eq(XpCruiseOrder::getMissionId, String.valueOf(query.getMissionId()))
-                .like(StringUtils.isNotBlank(query.getOrderNumber()), XpCruiseOrder::getOrderNumber, query.getOrderNumber())
-                .eq(query.getStatus() != null, XpCruiseOrder::getStatus, query.getStatus());
+                .like(Objects.nonNull(query.getId()), XpCruiseOrder::getId, query.getId())
+                .eq(query.getStatus() != null, XpCruiseOrder::getStatus, query.getStatus())
+                .eq(Objects.nonNull(query.getFleetId()), XpCruiseOrder::getFleetId, query.getFleetId());
 
         if (query.getStartTime() != null) {
             wrapper.ge(BaseModel::getCreateTime, query.getStartTime().atStartOfDay());
@@ -161,15 +162,15 @@
         if (query.getEndTime() != null) {
             wrapper.le(BaseModel::getCreateTime, query.getEndTime().plusDays(1).atStartOfDay());
         }
-
-        if (query.getFleetId() != null) {
-            R<List<Long>> fleetVehicleResult = xpFleetVehicleClient.listVehicleIdsByFleetId(query.getFleetId());
-            if (fleetVehicleResult == null || CollectionUtils.isEmpty(fleetVehicleResult.getData())) {
-                pageInfo.setRecords(Collections.emptyList());
-                return pageInfo;
-            }
-            wrapper.in(XpCruiseOrder::getVehicleId, fleetVehicleResult.getData());
-        }
+        //使用订单中的车队ID进行查询
+        // if (query.getFleetId() != null) {
+        //     R<List<Long>> fleetVehicleResult = xpFleetVehicleClient.listVehicleIdsByFleetId(query.getFleetId());
+        //     if (fleetVehicleResult == null || CollectionUtils.isEmpty(fleetVehicleResult.getData())) {
+        //         pageInfo.setRecords(Collections.emptyList());
+        //         return pageInfo;
+        //     }
+        //     wrapper.in(XpCruiseOrder::getVehicleId, fleetVehicleResult.getData());
+        // }
 
         if (StringUtils.isNotBlank(query.getPlateNumber())) {
             R<List<XpVehicle>> vehicleResult = xpVehicleClient.listByPlateNumber(query.getPlateNumber());
@@ -181,7 +182,7 @@
             wrapper.in(XpCruiseOrder::getVehicleId, vehicleIds);
         }
 
-        wrapper.orderByDesc(BaseModel::getCreateTime);
+        wrapper.orderByDesc(XpCruiseOrder::getCreateTime);
         Page<XpCruiseOrder> page = new Page<>(query.getPageNum(), query.getPageSize());
         Page<XpCruiseOrder> pageResult = this.page(page, wrapper);
         if (CollectionUtils.isEmpty(pageResult.getRecords())) {
@@ -204,19 +205,35 @@
         } else {
             vehicleMap = Collections.emptyMap();
         }
-        Map<Long, Long> vehicleFleetIdMap = new HashMap<>();
-        if (!vehicleIds.isEmpty()) {
-            for (Long vehicleId : vehicleIds) {
-                R<Long> fleetIdResult = xpFleetVehicleClient.getFleetIdByVehicleId(vehicleId);
-                if (fleetIdResult != null && fleetIdResult.getData() != null) {
-                    vehicleFleetIdMap.put(vehicleId, fleetIdResult.getData());
-                }
-            }
-        }
+        // Map<Long, Long> vehicleFleetIdMap = new HashMap<>();
+        // if (!vehicleIds.isEmpty()) {
+        //     for (Long vehicleId : vehicleIds) {
+        //         R<Long> fleetIdResult = xpFleetVehicleClient.getFleetIdByVehicleId(vehicleId);
+        //         if (fleetIdResult != null && fleetIdResult.getData() != null) {
+        //             vehicleFleetIdMap.put(vehicleId, fleetIdResult.getData());
+        //         }
+        //     }
+        // }
+        // Map<Long, String> fleetNameMap;
+        // if (!vehicleFleetIdMap.isEmpty()) {
+        //     List<Long> fleetIds = vehicleFleetIdMap.values().stream().distinct().collect(Collectors.toList());
+        //     R<List<XpFleet>> fleetResult = xpFleetClient.listByIds(fleetIds);
+        //     if (fleetResult != null && !CollectionUtils.isEmpty(fleetResult.getData())) {
+        //         fleetNameMap = fleetResult.getData().stream()
+        //                 .collect(Collectors.toMap(XpFleet::getId, XpFleet::getFleetName, (a, b) -> a));
+        //     } else {
+        //         fleetNameMap = Collections.emptyMap();
+        //     }
+        // } else {
+        //     fleetNameMap = Collections.emptyMap();
+        // }
         Map<Long, String> fleetNameMap;
-        if (!vehicleFleetIdMap.isEmpty()) {
-            List<Long> fleetIds = vehicleFleetIdMap.values().stream().distinct().collect(Collectors.toList());
-            R<List<XpFleet>> fleetResult = xpFleetClient.listByIds(fleetIds);
+        Set<Long> fleetIds = pageResult.getRecords().stream()
+                .map(XpCruiseOrder::getFleetId)
+                .filter(Objects::nonNull)
+                .collect(Collectors.toSet());
+        if (!fleetIds.isEmpty()) {
+            R<List<XpFleet>> fleetResult = xpFleetClient.listByIds(new ArrayList<>(fleetIds));
             if (fleetResult != null && !CollectionUtils.isEmpty(fleetResult.getData())) {
                 fleetNameMap = fleetResult.getData().stream()
                         .collect(Collectors.toMap(XpFleet::getId, XpFleet::getFleetName, (a, b) -> a));
@@ -233,7 +250,8 @@
             if (vehicle != null) {
                 vo.setPlateNumber(vehicle.getPlateNumber());
             }
-            Long fleetId = vehicleFleetIdMap.get(order.getVehicleId());
+            // Long fleetId = vehicleFleetIdMap.get(order.getVehicleId());
+            Long fleetId = order.getFleetId();
             if (fleetId != null) {
                 vo.setFleetName(fleetNameMap.get(fleetId));
             }

--
Gitblit v1.7.1