建表:
读取:
if (!resourceList.isEmpty()) {
o.getLong("parentId") == -1).collect(Collectors.toList());
userInfoServiceImpl.recursionTree(rootList, resourceList);
return new Result<>().ok(rootList);
} else {
return new Result<>().ok(resourceList);
}
/**
* 资源树形结构处理
*
* @param rootList 根节点
* @param resourceList 全部资源
*/
public void recursionTree(List<JSONObject> rootList, List<JSONObject> resourceList) {
//防止数量过多时处理缓慢
resourceList.removeAll(rootList);
rootList.forEach(item -> {
List<JSONObject> childList = new ArrayList<>();
resourceList.forEach(resource -> {
if (item.getLongValue("id") == resource.getLongValue("parentId")) {
childList.add(resource);
}
});
if (!childList.isEmpty()) {
recursionTree(childList, resourceList);
item.put("children", childList);
}
});
}