fix(sj_map_reduce): 修复获取任务项列表接口
This commit is contained in:
parent
08639aeb4b
commit
d09009f342
@ -1,5 +1,6 @@
|
||||
package com.aizuda.snailjob.server.web.model.response;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@ -84,6 +85,7 @@ public class JobTaskResponseVO {
|
||||
/**
|
||||
* 是否有子节点
|
||||
*/
|
||||
@JsonProperty("isLeaf")
|
||||
private boolean isChildNode;
|
||||
|
||||
|
||||
|
@ -19,11 +19,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -50,20 +46,20 @@ public class JobTaskServiceImpl implements JobTaskService {
|
||||
// SQLServer 分页必须 ORDER BY
|
||||
.orderByAsc(JobTask::getId));
|
||||
|
||||
List<JobTaskResponseVO> jobTaskResponseVOs = JobTaskResponseVOConverter.INSTANCE.convertList(
|
||||
selectPage.getRecords());
|
||||
if (CollUtil.isEmpty(jobTaskResponseVOs)) {
|
||||
return new PageResult<>(pageDTO, jobTaskResponseVOs);
|
||||
List<JobTask> records = selectPage.getRecords();
|
||||
|
||||
if (CollUtil.isEmpty(records)) {
|
||||
return new PageResult<>(pageDTO, new ArrayList<>());
|
||||
}
|
||||
|
||||
List<JobTaskResponseVO> jobTaskResponseVOs = JobTaskResponseVOConverter.INSTANCE.convertList(
|
||||
records);
|
||||
|
||||
Set<Long> parentIds = StreamUtils.toSet(jobTaskResponseVOs, JobTaskResponseVO::getId);
|
||||
List<JobTask> jobTasks = jobTaskMapper.selectList(new LambdaQueryWrapper<JobTask>()
|
||||
.select(JobTask::getId).in(JobTask::getId, parentIds));
|
||||
Set<Long> jobTaskIds = StreamUtils.toSet(jobTasks, JobTask::getId);
|
||||
for (JobTaskResponseVO jobTaskResponseVO : jobTaskResponseVOs) {
|
||||
jobTaskResponseVO.setKey(jobTaskResponseVO.getId());
|
||||
jobTaskResponseVO.setChildNode(jobTaskIds.contains(jobTaskResponseVO.getId()));
|
||||
}
|
||||
.select(JobTask::getParentId).in(JobTask::getParentId, parentIds));
|
||||
Set<Long> jobTaskParentIds = StreamUtils.toSet(jobTasks, JobTask::getParentId);
|
||||
jobTaskResponseVOs.forEach(jobTask -> jobTask.setChildNode(!jobTaskParentIds.contains(jobTask.getId())));
|
||||
|
||||
return new PageResult<>(pageDTO, jobTaskResponseVOs);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user