xuhy
2026-04-24 3c88eb9bd41ea647663995fc0f3e62778f8434a0
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -1409,10 +1409,10 @@
        Long fleetId = xpFleetVehicleClient.getFleetIdByVehicleId(vehicle.getId()).getData();
        List<Long> roleIds = taskRuleRole.stream().map(XpTaskRuleRole::getRoleId).collect(Collectors.toList());
        List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData();//TODO 空指针
        List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData();
        String belongUserIds = xpOperationUserClient.getXpOperationsRoleByRoleIds(roleIds).getData().stream()
                .map(XpOperationsRole::getOperationsUserId)
                .filter(ids::contains)
                .filter(e -> ids == null || ids.isEmpty() || ids.contains(e))
                .filter(id -> !excludedUserIds.contains(id.toString()))
                .map(String::valueOf).collect(Collectors.joining(","));
@@ -1569,7 +1569,10 @@
        // 让mongo根据[id in ids]返回距离排序的users
//        List<XpOperationsUserPositionDTO> users = mongoTemplate.find(new Query(Criteria.where("_id").in(ids)), XpOperationsUserPositionDTO.class);
        List<XpOperationsUserPositionDTO> XpOperationsUserPositionDTOs = repository.findWithDistance(new Point(vehiclePosition.getPoint().getX(), vehiclePosition.getPoint().getY()), 1000, ids);
        List<XpOperationsUserPositionDTO> XpOperationsUserPositionDTOs = mongoTemplate.find(
                new Query(Criteria.where("_id").in(ids).and("location").nearSphere(new GeoJsonPoint(vehiclePosition.getPoint().getX(), vehiclePosition.getPoint().getY())).maxDistance(1000 / 6378137.0)),
                XpOperationsUserPositionDTO.class
        );
        boolean skipBusy = false;//TODO 获取系统配置,是否开启跳过忙碌