1、任务列表二次查询 bugfix
This commit is contained in:
@@ -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; // 该标签不匹配,直接跳出
|
||||
|
||||
Reference in New Issue
Block a user