puzhibing
2026-03-05 de5f07fe1acd8d462f9c54d7a04c5c47a87264d1
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -547,7 +547,7 @@
        // 校验通过,批量转为运营状态(vehicleType: 1→2)
        LambdaUpdateWrapper<XpVehicle> wrapper = new LambdaUpdateWrapper<>();
        wrapper.in(XpVehicle::getId, idStr)
        wrapper.in(XpVehicle::getId, ids)
                .set(XpVehicle::getVehicleType, 2)
                .set(XpVehicle::getOperatingStatus, 1);
        this.update(wrapper);
@@ -585,7 +585,25 @@
    public PageInfo<XpVehicle> vehiclePageList(VehiclePageQuery query) {
        PageInfo<XpVehicle> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<XpVehicle> list = this.baseMapper.vehiclePageList(pageInfo, query);
        //查询运营区域名称
        List<Long> electronicIds = list.stream()
                .map(XpVehicle::getElectronicId)
                .filter(Objects::nonNull)
                .distinct()
                .collect(Collectors.toList());
        Map<Long, String> electronicNameMap = new HashMap<>();
        if (CollUtil.isNotEmpty(electronicIds)) {
            List<XpElectronicFence> data = xpElectronicClient.listByIds(electronicIds).getData();
            electronicNameMap = CollUtil.isNotEmpty(data) ?
                    data.stream().collect(Collectors.toMap(XpElectronicFence::getId, XpElectronicFence::getElectronicName))
                    : Collections.emptyMap();
        }
        Map<Long, String> finalElectronicNameMap = electronicNameMap;
        list.forEach(item -> {
            if (item.getElectronicId() != null) {
                item.setElectronicName(finalElectronicNameMap.get(item.getElectronicId()));
            }
        });
        if (CollUtil.isNotEmpty(list)) {
            LocalDate today = LocalDate.now();
            List<Long> expiredVehicleIds = new ArrayList<>();