From d35bdeda248e2632558e7591900a848bd8162dd5 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 12 三月 2026 19:29:55 +0800
Subject: [PATCH] bugfix
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
index 0f80441..738d3e1 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
+++ b/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, ","));
}
// 根据事故处理限时配置设置任务截止时间
--
Gitblit v1.7.1