From 904447d37a7ea9e3fadf1b56badc0ddbcf210bd0 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 14 二月 2026 17:05:08 +0800
Subject: [PATCH] feat(management):菜单权限

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 8b05587..d4c0cc5 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -33,8 +33,8 @@
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
 import com.xiaopeng.api.model.account.XpAppUser;
-import com.xiaopeng.api.model.operation.XpGeoQueryEntity;
 import com.xiaopeng.api.model.operation.XpFeedbackType;
+import com.xiaopeng.api.model.operation.XpGeoQueryEntity;
 import com.xiaopeng.api.model.operation.XpPoint;
 import com.xiaopeng.api.model.operation.XpPricing;
 import com.xiaopeng.api.model.order.*;
@@ -80,16 +80,13 @@
 import com.xiaopeng.order.utils.TrajectoryGenerator;
 import com.xiaopeng.order.utils.holiday.HolidayUtil;
 import com.xiaopeng.order.vo.OrderDetailVo;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.transaction.core.TransactionType;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
@@ -179,10 +176,10 @@
         wrapper.orderByDesc(XpOrder::getCreateTime);
 
         // 2. 分页查询
-        PageInfo<XpOrder> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
-        PageInfo<XpOrder> orderPage = this.page(pageInfo, wrapper);
+        Page<XpOrder> page = new Page<>(query.getPageNum(), query.getPageSize());
+        Page<XpOrder> pageResult = this.page(page, wrapper);
 
-        if (CollectionUtils.isEmpty(orderPage.getRecords())) {
+        if (CollectionUtils.isEmpty(pageResult.getRecords())) {
             PageInfo<XpOrderPageVO> resultPage = new PageInfo<>(query.getPageNum(), query.getPageSize());
             resultPage.setTotal(0L);
             resultPage.setRecords(new ArrayList<>());
@@ -193,7 +190,7 @@
         Set<Long> userIds = new HashSet<>();
         Set<Long> vehicleIds = new HashSet<>();
         Set<Long> fleetIds = new HashSet<>();
-        for (XpOrder order : orderPage.getRecords()) {
+        for (XpOrder order : pageResult.getRecords()) {
             if (Objects.nonNull(order.getAppUserId())) {
                 userIds.add(order.getAppUserId());
             }
@@ -211,13 +208,13 @@
         Map<Long, XpFleet> fleetMap = batchGetFleets(fleetIds);
 
         // 5. 组装 VO
-        List<XpOrderPageVO> voList = orderPage.getRecords().stream()
+        List<XpOrderPageVO> voList = pageResult.getRecords().stream()
                 .map(order -> convertToPageVO(order, userMap, vehicleMap, fleetMap))
                 .collect(Collectors.toList());
 
         // 6. 返回分页结果
         PageInfo<XpOrderPageVO> resultPage = new PageInfo<>(query.getPageNum(), query.getPageSize());
-        resultPage.setTotal(orderPage.getTotal());
+        resultPage.setTotal(pageResult.getTotal());
         resultPage.setRecords(voList);
         return resultPage;
     }
@@ -561,6 +558,9 @@
         if (Objects.isNull(newVehicle.getAcceptOrTestStatus()) || newVehicle.getAcceptOrTestStatus() != 1) {
             throw new ServiceException("新车辆未开始接单", I18nKeyConstant.ORDER_REASSIGN_NEW_VEHICLE_NOT_START_ACCEPT);
         }
+        if (Objects.isNull(newVehicle.getState()) || newVehicle.getState() != 0) {
+            throw new ServiceException("新车辆已接单,请重新选择", I18nKeyConstant.ORDER_REASSIGN_NEW_VEHICLE_NOT_FREE);
+        }
 
         // 6. 保存原车辆和车队信息
         Long oldVehicleId = order.getVehicleId();
@@ -619,6 +619,7 @@
 
         log.info("订单改派成功,订单ID: {}, 原车辆ID: {}, 新车辆ID: {}, 原车队ID: {}, 新车队ID: {}, 操作人: {}",
                 orderId, oldVehicleId, newVehicleId, oldFleetId, newFleetId, SecurityUtils.getUsername());
+        //推送消息
     }
 
     @Override

--
Gitblit v1.7.1