xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -1,6 +1,7 @@ package com.xiaopeng.operation.utils; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.xiaopeng.api.dto.automaticPilot.PushOrderDto; import com.xiaopeng.api.dto.map.RouteAndFareDto; import com.xiaopeng.api.dto.operation.LonLatDto; @@ -271,7 +272,7 @@ // 获取车辆的信息 筛选出可用车辆 R<List<String>> vehiclePositionVos = xpVehicleClient.queryVehiclePositionByVin(new VehiclePositionByVinDto(xpElectronicFence.getId(), vinList, xpTradingStrategy.getSimultaneouslyOrderCount())); log.info("筛选可用车辆结果 {}", vehiclePositionVos); log.info("筛选可用车辆结果 {}", JSON.toJSONString(vehiclePositionVos)); if (vehiclePositionVos.getCode() != 200) { continue; } @@ -285,7 +286,7 @@ if (!availableVehiclesNearby.isEmpty()) { if (availableVehiclesNearby.size() > 1) { log.info("附近有 {} 辆车,进入权重按断流程", availableVehiclesNearby.size()); log.info("附近有 {} 辆车,进入权重判断流程", availableVehiclesNearby.size()); // 走权重 // 订单价值 @@ -822,8 +823,8 @@ } XpVehicle vehicleId1 = vehicleR.getData(); log.info("附近只有一个车辆 {} ,直接推单XPU", vehicleId1.getPlateNumber()); log.info("当前车辆状态 {}", vehicleId1.getStatus()); if (vehicleId1.getStatus() != 1 || vehicleId1.getState() != 0 || vehicleId1.getVehicleType()==1) { log.info("当前车辆状态 {} 运营状态 {}", vehicleId1.getOperatingStatus(), vehicleId1.getState()); if (vehicleId1.getOperatingStatus() != 1 || vehicleId1.getState() != 0 || vehicleId1.getVehicleType()==1) { lock.unlock(); continue; } @@ -847,7 +848,7 @@ return; } catch (Exception e) { e.printStackTrace(); } finally { lock.unlock(); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
@@ -130,6 +130,8 @@ if (xpCruiseOrder != null) { xpCruiseOrder.setStatus(2); this.update(xpCruiseOrder, wrapper); // todo 给XPU下发订单取消报文,如果取消不成功需要重试。两次不成功,则需要换车 return xpCruiseOrder.getId(); } return null; xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -505,7 +505,7 @@ */ @PostMapping("/inner/vehicle/queryVehiclePositionByVin") public R<List<String>> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto){ List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, 0).eq(XpVehicle::getStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin, List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, 0).eq(XpVehicle::getOperatingStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin, dto.getVinList())); if(list.isEmpty()){ return R.ok(new ArrayList<>()); @@ -729,4 +729,17 @@ public R<PageInfo<XpVehicleVO>> getVehiclePageList(@RequestBody VehicleSelectPageQuery query) { return R.ok(xpVehicleService.getVehiclePageList(query)); } /** * 临时用于修改车辆接单状态 * @param updateVehicleStateDto * @return */ @PostMapping("/base/vi/vehicle/updateVehicleStatus") public R<?> testUpdateVehicleStatus(@RequestBody UpdateVehicleStateDto updateVehicleStateDto){ xpVehicleService.update(new LambdaUpdateWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, updateVehicleStateDto.getVin()).set(XpVehicle::getState, updateVehicleStateDto.getState())); return R.ok(); } }