From 61d67455be91dadbed45b098dca18a5347be0e3d Mon Sep 17 00:00:00 2001 From: xlsea Date: Sat, 22 Jun 2024 15:57:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(sj=5Fmap=5Freduce):=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=8E=B7=E5=8F=96=E4=BB=BB=E5=8A=A1=E9=A1=B9=E6=A0=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/web/controller/JobTaskController.java | 2 +- .../server/web/service/JobTaskService.java | 2 +- .../web/service/impl/JobTaskServiceImpl.java | 16 ++++++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) 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 64f4f04af..b1aa0c712 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 7bfbaa38f..95f75c581 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 4550b9e34..0e71d355a 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); } }