From 6eed8cac891460d48b84e16dade92ab110a1b177 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 11 三月 2026 17:59:41 +0800
Subject: [PATCH] bugfix

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java |    9 +++++----
 1 files changed, 5 insertions(+), 4 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 c681993..556cab5 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
@@ -229,13 +229,14 @@
         xpTask.setStatus(0);
         xpTask.setCreateBy(xpOperationsUser.getNickName());
         XpTaskRule taskRule = xpTaskRuleService.lambdaQuery().last("limit 1").one();
-        XpTaskRuleRole taskRuleRole = xpTaskRuleRoleService.lambdaQuery().eq(XpTaskRuleRole::getRuleType, 9).last("limit 1").one();
-        if (Objects.isNull(taskRuleRole) || Objects.isNull(taskRule)) {
+        List<XpTaskRuleRole> list = xpTaskRuleRoleService.lambdaQuery().eq(XpTaskRuleRole::getRuleType, 9).list();
+        if (CollUtil.isEmpty(list) || Objects.isNull(taskRule)) {
             throw new ServiceException("未配置车辆事故任务分配规则");
         }
-        R<List<XpOperationsRole>> xpOperationsRoleResult = xpOperationUserClient.getXpOperationsRoleByRoleId(taskRuleRole.getRoleId());
+        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).collect(Collectors.toList());
+            List<Long> userIds = xpOperationsRoleResult.getData().stream().map(XpOperationsRole::getOperationsUserId).distinct().collect(Collectors.toList());
             xpTask.setHandleUserId(StringUtils.join(userIds, ","));
         }
         // 根据事故处理限时配置设置任务截止时间

--
Gitblit v1.7.1