1、任务列表二次查询 bugfix

This commit is contained in:
2026-03-16 14:13:10 +08:00
parent bb45a03807
commit af1801a5a7

View File

@@ -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<String, Set<String>> tagConditionMap, int totalTagSize) {
private boolean matchAllTagConditions(SpdmTaskVo task, Map<String, Set<String>> 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; // 该标签不匹配,直接跳出