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 b549ff9d1..4550b9e34 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 @@ -2,6 +2,7 @@ package com.aizuda.snailjob.server.web.service.impl; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNode; +import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; import com.aizuda.snailjob.common.core.util.JsonUtil; import com.aizuda.snailjob.server.web.model.base.PageResult; @@ -62,15 +63,11 @@ public class JobTaskServiceImpl implements JobTaskService { // SQLServer 分页必须 ORDER BY .orderByAsc(JobTask::getJobId)); - List> treeNodes = new ArrayList<>(); - for (final JobTask jobTask : jobTasks) { - TreeNode treeNode = new TreeNode<>(); - treeNode.setId(jobTask.getId()); - treeNode.setName(jobTask.getTaskName()); - treeNode.setExtra(JsonUtil.parseHashMap(JsonUtil.toJsonString(jobTask), Object.class)); - treeNodes.add(treeNode); - } - - return TreeUtil.build(treeNodes, 0L); + return TreeUtil.build(jobTasks, 0L, (jobTask, tree) -> { + tree.setId(jobTask.getId()); + tree.setName(jobTask.getTaskName()); + tree.setParentId(jobTask.getParentId()); + tree.putExtra("jobTask", jobTask); + }); } }