puzhibing
2026-03-27 1d1eb2bc1a022fccdfcbea879227d54db47eb560
修改bug
3个文件已修改
42 ■■■■■ 已修改文件
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -42,10 +42,7 @@
import com.xiaopeng.vehicleConvoy.service.IXpFleetVehicleService;
import com.xiaopeng.vehicleConvoy.service.IXpVehicleAnnualRecordService;
import com.xiaopeng.vehicleConvoy.service.IXpVehicleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -836,9 +833,12 @@
     */
    @ApiOperation(value = "查询可改派的车辆列表", tags = {"管理后台-订单管理"})
    @GetMapping("/api/v1/vehicle/availableList")
    @ApiImplicitParam(name = "orderId", value = "订单ID", required = true, dataTypeClass = Long.class)
    public R<List<XpVehicle>> listAvailableVehicles(@RequestParam Long orderId) {
        List<XpVehicle> list = xpVehicleService.listAvailableVehicles(orderId);
    @ApiImplicitParams({
            @ApiImplicitParam(name = "orderId", value = "订单ID", required = true, dataTypeClass = Long.class),
            @ApiImplicitParam(name = "orderType", value = "订单类型(1=用户单,2=测试单)", required = true, dataTypeClass = Integer.class)
    })
    public R<List<XpVehicle>> listAvailableVehicles(@RequestParam Long orderId, Integer orderType) {
        List<XpVehicle> list = xpVehicleService.listAvailableVehicles(orderId, orderType);
        return R.ok(list);
    }
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/IXpVehicleService.java
@@ -34,7 +34,7 @@
     *
     * @return 车辆列表
     */
    List<XpVehicle> listAvailableVehicles(Long orderId);
    List<XpVehicle> listAvailableVehicles(Long orderId, Integer orderType);
    /**
     * 查询车辆列表接口-地图
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -16,10 +16,12 @@
import com.xiaopeng.api.feignClient.operation.XpElectronicClient;
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.api.feignClient.order.XpTestOrderClient;
import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
import com.xiaopeng.api.model.operation.XpElectronicFence;
import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.order.XpTestOrder;
import com.xiaopeng.api.model.vehicleConvoy.*;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.operation.ElectronicFenceDetailVo;
@@ -115,6 +117,8 @@
    private RedisTemplate redisTemplate;
    @Autowired
    private XpPushMessageClient xpPushMessageClient;
    @Resource
    private XpTestOrderClient xpTestOrderClient;
    @Override
    public List<XpVehicle> listByIds(List<Long> ids) {
@@ -125,16 +129,22 @@
    }
    @Override
    public List<XpVehicle> listAvailableVehicles(Long orderId) {
    public List<XpVehicle> listAvailableVehicles(Long orderId, Integer orderType) {
        // 1. 通过订单ID查询订单信息,获取区域ID
        R<XpOrder> orderResult = xpOrderClient.queryOrderById(orderId);
        if (orderResult == null || orderResult.getData() == null) {
            log.warn("查询订单失败,orderId: {}", orderId);
            return Collections.emptyList();
        }
        Long areaId = null;
        if(null == orderType || 1 == orderType){
            R<XpOrder> orderResult = xpOrderClient.queryOrderById(orderId);
            if (orderResult == null || orderResult.getData() == null) {
                log.warn("查询订单失败,orderId: {}", orderId);
                return Collections.emptyList();
            }
        XpOrder order = orderResult.getData();
        Long areaId = order.getXpElectronicFenceAreaId();
            XpOrder order = orderResult.getData();
            areaId = order.getXpElectronicFenceAreaId();
        }else{
            XpTestOrder testOrder = xpTestOrderClient.queryOrderById(orderId).getData();
            areaId = testOrder.getXpElectronicFenceAreaId();
        }
        if (areaId == null) {
            log.warn("订单区域ID为空,orderId: {}", orderId);