diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/JobTaskController.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/JobTaskController.java index 64f4f04a..b1aa0c71 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/JobTaskController.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/JobTaskController.java @@ -32,7 +32,7 @@ public class JobTaskController { @GetMapping("/tree/list") @LoginRequired - public List> getTreeJobTask(JobTaskQueryVO jobTaskQueryVO) { + public PageResult>> getTreeJobTask(JobTaskQueryVO jobTaskQueryVO) { return jobTaskService.getTreeJobTask(jobTaskQueryVO); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobTaskService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobTaskService.java index 7bfbaa38..95f75c58 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobTaskService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobTaskService.java @@ -16,5 +16,5 @@ public interface JobTaskService { PageResult> getJobTaskPage(JobTaskQueryVO jobTaskQueryVO); - List> getTreeJobTask(JobTaskQueryVO jobTaskQueryVO); + PageResult>> getTreeJobTask(JobTaskQueryVO jobTaskQueryVO); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobTaskServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobTaskServiceImpl.java index 4550b9e3..0e71d355 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobTaskServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobTaskServiceImpl.java @@ -54,20 +54,24 @@ public class JobTaskServiceImpl implements JobTaskService { } @Override - public List> getTreeJobTask(final JobTaskQueryVO queryVO) { - List jobTasks = jobTaskMapper.selectList( + public PageResult>> getTreeJobTask(final JobTaskQueryVO queryVO) { + List taskList = jobTaskMapper.selectList( new LambdaQueryWrapper() - .eq(JobTask::getParentId, queryVO.getParentId()) + .eq(Objects.nonNull(queryVO.getParentId()), JobTask::getParentId, queryVO.getParentId()) .eq(Objects.nonNull(queryVO.getJobId()), JobTask::getJobId, queryVO.getJobId()) .eq(Objects.nonNull(queryVO.getTaskBatchId()), JobTask::getTaskBatchId, queryVO.getTaskBatchId()) // SQLServer 分页必须 ORDER BY .orderByAsc(JobTask::getJobId)); - return TreeUtil.build(jobTasks, 0L, (jobTask, tree) -> { + TreeNodeConfig config = new TreeNodeConfig(); + config.setNameKey("taskName"); + config.setChildrenKey("children"); + List> treeList = TreeUtil.build(taskList, Objects.nonNull(queryVO.getParentId()) ? queryVO.getParentId() : 0L, config, (jobTask, tree) -> { + tree.putAll(JsonUtil.parseHashMap(JsonUtil.toJsonString(jobTask), Object.class)); tree.setId(jobTask.getId()); - tree.setName(jobTask.getTaskName()); tree.setParentId(jobTask.getParentId()); - tree.putExtra("jobTask", jobTask); }); + + return new PageResult<>(new PageDTO<>(queryVO.getPage(), queryVO.getSize(), treeList.size()), treeList); } }