菜单树tree

构建树(一般用于层级菜单)

  • 结果如图所示
    在这里插入图片描述
// parentId 最顶层父id值 一般为 0 之类 
public static List<Tree<String>> ldapOutees(List<LdapCatalogue> catalogueList,String parentId) {
    List<TreeNode<String>> nodeList = CollUtil.newArrayList();
    // 构建树
    catalogueList.forEach(v -> {
        // 构建叶子上展示的字段
        TreeNode<String> treeNode = new TreeNode<>(Convert.toStr(v.getCode()), Convert.toStr(v.getParentId()), v.getName(), 5);
        HashMap<String, Object> tagMap = new HashMap<>();
        tagMap.put("dnName",v.getDnName());
        tagMap.put("id",v.getId().toString());
        tagMap.put("code",v.getCode());
        tagMap.put("instanceType",v.getInstanceType());
        tagMap.put("sourceId",v.getSourceId());
        treeNode.setExtra(tagMap);
        nodeList.add(treeNode);
    });
    TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
    treeNodeConfig.setIdKey("rid");
    treeNodeConfig.setDeep(10);

    List<Tree<String>> treeNodes = cn.hutool.core.lang.tree.TreeUtil.build(nodeList, parentId, treeNodeConfig,
            (treeNode, tree) -> {
                tree.setId(String.valueOf(treeNode.getId()));
                tree.setParentId(String.valueOf(treeNode.getParentId()));
                tree.setName(treeNode.getName());
                tree.setWeight(treeNode.getWeight());
                tree.putExtra("id",treeNode.getExtra().get("id").toString());
                tree.putExtra("code",treeNode.getExtra().get("code"));
                tree.putExtra("dnName",treeNode.getExtra().get("dnName"));
                tree.putExtra("instanceType",treeNode.getExtra().get("instanceType"));
                tree.putExtra("sourceId",treeNode.getExtra().get("sourceId"));
            });
    return treeNodes;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值