opt: 任务下发控制一组一组
This commit is contained in:
@@ -20,7 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -76,9 +78,27 @@ public abstract class AbstractTask {
|
||||
if (ObjectUtil.isEmpty(taskList)) {
|
||||
return;
|
||||
}
|
||||
List<SchBaseTask> runningTask = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO)
|
||||
.in(SchBaseTask::getTask_status, Arrays.asList(TaskStatus.ISSUED.getCode()
|
||||
, TaskStatus.EXECUTING.getCode())));
|
||||
List<SchBaseTask> distinctRunningTasks = new ArrayList<>(runningTask.stream()
|
||||
.collect(Collectors.toMap(
|
||||
SchBaseTask::getTask_group_id,
|
||||
Function.identity(),
|
||||
(existing, replacement) -> existing
|
||||
))
|
||||
.values());
|
||||
if (distinctRunningTasks.size() < 2) {
|
||||
return;
|
||||
}
|
||||
// 获取一组下发
|
||||
SchBaseTask task = taskList.get(0);
|
||||
List<SchBaseTask> nextTasks = taskList.stream()
|
||||
.filter(p -> p.getTask_group_id().equals(task.getTask_group_id())).collect(Collectors.toList());
|
||||
// 整理下发acs参数
|
||||
List<AcsTaskDto> taskDtoList = new ArrayList<>();
|
||||
for (SchBaseTask taskDao : taskList) {
|
||||
for (SchBaseTask taskDao : nextTasks) {
|
||||
AcsTaskDto acsTaskDto = this.sendAcsParam(taskDao.getTask_id());
|
||||
taskDtoList.add(acsTaskDto);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user