From af1801a5a73e245d29205581e5f35015c63057ba Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Mon, 16 Mar 2026 14:13:10 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E6=9F=A5=E8=AF=A2=20bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sdm/project/service/impl/TaskServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index 3beaa531..cc54dfb1 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -308,7 +308,7 @@ public class TaskServiceImpl implements ITaskService { // 4. 判断单个任务是否匹配所有标签条件 return allTaskList.stream() - .filter(task -> matchAllTagConditions(task, tagConditionMap, totalTagSize)) + .filter(task -> matchAllTagConditions(task, tagConditionMap, totalTagSize,tagReq.getTaskId())) .collect(Collectors.toList()); } @@ -340,7 +340,7 @@ public class TaskServiceImpl implements ITaskService { * @param totalTagSize 总标签数量 * @return 是否匹配所有条件 */ - private boolean matchAllTagConditions(SpdmTaskVo task, Map> tagConditionMap, int totalTagSize) { + private boolean matchAllTagConditions(SpdmTaskVo task, Map> tagConditionMap, int totalTagSize,String taskId) { if (task == null) { return false; } @@ -361,8 +361,12 @@ public class TaskServiceImpl implements ITaskService { boolean isMatched = Arrays.stream(currentNodeTagId.split(",")) .map(String::trim) // 处理空格 .anyMatch(tagValueSet::contains); + boolean taskIsMatched = true; + if (StringUtils.isNotBlank(taskId)) { + taskIsMatched = taskId.equals(task.getUuid()); + } - if (isMatched) { + if (isMatched && taskIsMatched) { matchedTagCount++; } else { break; // 该标签不匹配,直接跳出