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