From 7e25a80c5bcb45ed9524a57e24bcabd0a0db625d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期日, 24 四月 2022 11:46:25 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-common/src/main/java/com/ruoyi/common/utils/TreeBuildUtils.java | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/TreeBuildUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/TreeBuildUtils.java index a8380a2..f9f8fa1 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/TreeBuildUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/TreeBuildUtils.java @@ -1,9 +1,13 @@ package com.ruoyi.common.utils; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; import cn.hutool.core.lang.tree.parser.NodeParser; +import com.ruoyi.common.utils.reflect.ReflectUtils; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; import java.util.List; @@ -12,6 +16,7 @@ * * @author Lion Li */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) public class TreeBuildUtils extends TreeUtil { /** @@ -19,13 +24,12 @@ */ public static final TreeNodeConfig DEFAULT_CONFIG = TreeNodeConfig.DEFAULT_CONFIG.setNameKey("label"); - /** - * 榛樿鏍戠埗鑺傜偣id - */ - public static final Long DEFAULT_PARENT_ID = 0L; - - public static <T> List<Tree<Long>> build(List<T> list, NodeParser<T, Long> nodeParser) { - return TreeUtil.build(list, DEFAULT_PARENT_ID, DEFAULT_CONFIG, nodeParser); + public static <T, K> List<Tree<K>> build(List<T> list, NodeParser<T, K> nodeParser) { + if (CollUtil.isEmpty(list)) { + return null; + } + K k = ReflectUtils.invokeGetter(list.get(0), "parentId"); + return TreeUtil.build(list, k, DEFAULT_CONFIG, nodeParser); } } -- Gitblit v1.9.3