1. pom坐标
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.8</version>
</dependency>
2. Java代码
public SysMenuVO menuListByUser() {
String loginId = (String) StpUtil.getLoginId();
List<SysMenu> sysMenusList = null;
List<String> permissions = null;
sysMenusList = sysMenuMapper.selectSysMenuListByUserId(loginId);
permissions = sysMenuMapper.selectPermissionsByUserId(loginId);
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
treeNodeConfig.setIdKey("menuId");
treeNodeConfig.setWeightKey("orderNum");
treeNodeConfig.setParentIdKey("parentId");
List<Tree<String>> treeNodes = TreeUtil.build(sysMenusList, "0", treeNodeConfig,
(treeNode, tree) -> {
tree.setId(treeNode.getMenuId().toString());
tree.setParentId(treeNode.getParentId().toString());
tree.setWeight(treeNode.getOrderNum());
tree.setName(treeNode.getName());
tree.putExtra("url", treeNode.getUrl());
tree.putExtra("type", treeNode.getType());
tree.putExtra("icon", treeNode.getIcon());
tree.putExtra("createdBy", treeNode.getCreatedBy());
tree.putExtra("createdTime", treeNode.getCreatedTime());
tree.putExtra("updateBy", treeNode.getUpdatedBy());
tree.putExtra("updateTime", treeNode.getUpdatedTime());
});
return new SysMenuVO(treeNodes, permissions);
}