List<Menu> listMenu = dbsvc.queryList(newparamMenu, Menu.class);
// 构建node列表
List<TreeNode<Long>> nodeList = CollUtil.newArrayList();
List<TreeNode<Long>> collect = listMenu.stream().map(lists -> {
Map<String, Object> map = new HashMap<>();
TreeNode<Long> treeNode = new TreeNode<Long>().setId(lists.getId())
.setName(lists.getName())
.setParentId(Long.parseLong(lists.getPid()))
.setWeight(lists.getSort());
return treeNode;
}).collect(Collectors.toList());
nodeList = collect;
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
treeNodeConfig.setWeightKey("sort");
treeNodeConfig.setIdKey("id");
treeNodeConfig.setParentIdKey("parentId");
treeNodeConfig.setChildrenKey("children");
treeNodeConfig.setDeep(3);
//转换器
List<Tree<String>> treeNodes = TreeUtil.build(nodeList, "0", treeNodeConfig,
(treeNode, tree) -> {
tree.setId(String.valueOf(treeNode.getId()));
tree.setParentId(String.valueOf(treeNode.getParentId()));
tree.setWeight(treeNode.getWeight());
tree.setName(treeNode.getName());
});
System.out.println(JSON.toJSONString(treeNodes));
结果:
[{"id":"300","parentId":"0","sort":10,"name":"PureSystem","children":[{"id":"7331100000","parentId":"300","sort":40,"name":"SystemUser"},{"id":"7331100003","parentId":"300","sort":99,"name":"SystemDept"},{"id":"7331100002","parentId":"300","sort":99,"name":"SystemMenu"},{"id":"7331100001","parentId":"300","sort":99,"name":"SystemRole"}]}]