“mitao”
2026-03-12 d35bdeda248e2632558e7591900a848bd8162dd5
bugfix
4个文件已修改
39 ■■■■■ 已修改文件
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-map-boot/src/main/resources/mapper/XpPointMapper.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/query/XpOrderPageQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -209,6 +209,7 @@
        xpTask.setTaskUrgencyLevel(dto.getTaskUrgencyLevel());
        xpTask.setTaskDescription(dto.getTaskDescription());
        xpTask.setTaskImage(dto.getTaskImage());
        xpTask.setVehicleId(dto.getId());
        XpVehicle vehicle = xpVehicleClient.queryById(xpTask.getVehicleId()).getData();
//        if (vehicle!=null){
//            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vehicle.getVehicleVin())), VehiclePosition.class);
@@ -236,7 +237,12 @@
        List<Long> roleIds = list.stream().map(XpTaskRuleRole::getRoleId).collect(Collectors.toList());
        R<List<XpOperationsRole>> xpOperationsRoleResult = xpOperationUserClient.getXpOperationsRoleByRoleIds(roleIds);
        if (CollUtil.isNotEmpty(xpOperationsRoleResult.getData())) {
            List<Long> userIds = xpOperationsRoleResult.getData().stream().map(XpOperationsRole::getOperationsUserId).distinct().collect(Collectors.toList());
            Long fleetId = xpFleetVehicleClient.getFleetIdByVehicleId(vehicle.getId()).getData();
            List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData();
            // 根据配置的事故处理角色和事故车辆所属车队人员,确定最终的任务分配人列表(取交集)
            List<Long> userIds = xpOperationsRoleResult.getData().stream().filter(x -> ids.contains(x.getOperationsUserId()))
                    .map(XpOperationsRole::getOperationsUserId)
                    .distinct().collect(Collectors.toList());
            xpTask.setHandleUserId(StringUtils.join(userIds, ","));
        }
        // 根据事故处理限时配置设置任务截止时间
xp-robotaxi-map-boot/src/main/resources/mapper/XpPointMapper.xml
@@ -136,8 +136,8 @@
            and xp.parking_time_limit = #{query.parkingTimeLimit}
        </if>
        <if test="query.pointLonAndLat != null and query.pointLonAndLat != ''">
            and xp.point_lon like concat('%',#{query.pointLonAndLat},'%')
            or xp.point_lat like concat('%',#{query.pointLonAndLat},'%')
            and (xp.point_lon like concat('%',#{query.pointLonAndLat},'%')
            or xp.point_lat like concat('%',#{query.pointLonAndLat},'%'))
        </if>
        <if test="query.pointLon != null and query.pointLon != '' and query.pointLat != null and query.pointLat != ''">
            and xp.point_lon like concat('%',#{query.pointLon},'%')
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/query/XpOrderPageQuery.java
@@ -47,4 +47,7 @@
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate endTime;
    @ApiModelProperty(value = "用户ID")
    private Long uid;
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -205,7 +205,14 @@
                return buildEmptyOrderPage(query);
            }
        }
        if (StringUtils.isNotBlank(query.getNickName())) {
            //根据手机号查询用户信息
            UcUserInfo userByMobile = userResourcesClient.getUserByMobile(query.getNickName());
            if (userByMobile == null || userByMobile.getId() == null) {
                return buildEmptyOrderPage(query);
            }
            query.setUid(userByMobile.getId());
        }
        // 1. 构建查询条件
        LambdaQueryWrapper<XpOrder> wrapper = buildQueryWrapper(query);
        if (CollUtil.isNotEmpty(vehicleIdsFilter)) {
@@ -348,7 +355,14 @@
            }
            wrapper.in(XpOrder::getVehicleId, vehicleIdsFilter);
        }
        if (StringUtils.isNotBlank(query.getNickName())) {
            //根据手机号查询用户信息
            UcUserInfo userByMobile = userResourcesClient.getUserByMobile(query.getNickName());
            if (userByMobile == null || userByMobile.getId() == null) {
                return new ArrayList<>();
            }
            query.setUid(userByMobile.getId());
        }
        // 2. 查询订单列表
        List<XpOrder> orderList = this.list(wrapper);
@@ -392,7 +406,8 @@
        wrapper.like(StringUtils.isNotBlank(query.getOrderNumber()), XpOrder::getOrderNumber, query.getOrderNumber())
                .eq(Objects.nonNull(query.getFleetId()), XpOrder::getFleetId, query.getFleetId())
                .eq(Objects.nonNull(query.getOrderSource()), XpOrder::getOrderSource, query.getOrderSource())
                .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus());
                .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus())
                .eq(Objects.nonNull(query.getUid()), XpOrder::getAppUserId, query.getUid());
        RegionCodeFilterUtil.resolveCityCodeFilter(query.getCityCode())
                .ifPresent(filter -> {
@@ -419,7 +434,8 @@
        wrapper.like(StringUtils.isNotBlank(query.getOrderNumber()), XpOrder::getOrderNumber, query.getOrderNumber())
                .eq(Objects.nonNull(query.getFleetId()), XpOrder::getFleetId, query.getFleetId())
                .eq(Objects.nonNull(query.getOrderSource()), XpOrder::getOrderSource, query.getOrderSource())
                .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus());
                .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus())
                .eq(Objects.nonNull(query.getUid()), XpOrder::getAppUserId, query.getUid());
        RegionCodeFilterUtil.resolveCityCodeFilter(query.getCityCode())
                .ifPresent(filter -> {