mirror of
https://github.com/201206030/novel-plus.git
synced 2025-07-04 16:26:40 +00:00
上传后台管理系统代码
This commit is contained in:
@ -0,0 +1,89 @@
|
||||
package com.java2nb.common.utils;
|
||||
|
||||
import com.java2nb.common.domain.Tree;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class BuildTree {
|
||||
|
||||
public static <T> Tree<T> build(List<Tree<T>> nodes) {
|
||||
|
||||
if (nodes == null) {
|
||||
return null;
|
||||
}
|
||||
List<Tree<T>> topNodes = new ArrayList<Tree<T>>();
|
||||
|
||||
for (Tree<T> children : nodes) {
|
||||
|
||||
String pid = children.getParentId();
|
||||
if (pid == null || "0".equals(pid)) {
|
||||
topNodes.add(children);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
for (Tree<T> parent : nodes) {
|
||||
String id = parent.getId();
|
||||
if (id != null && id.equals(pid)) {
|
||||
parent.getChildren().add(children);
|
||||
children.setHasParent(true);
|
||||
parent.setChildren(true);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Tree<T> root = new Tree<T>();
|
||||
if (topNodes.size() == 1) {
|
||||
root = topNodes.get(0);
|
||||
} else {
|
||||
root.setId("-1");
|
||||
root.setParentId("");
|
||||
root.setHasParent(false);
|
||||
root.setChildren(true);
|
||||
root.setChecked(true);
|
||||
root.setChildren(topNodes);
|
||||
root.setText("顶级节点");
|
||||
Map<String, Object> state = new HashMap<>(16);
|
||||
state.put("opened", true);
|
||||
root.setState(state);
|
||||
}
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
public static <T> List<Tree<T>> buildList(List<Tree<T>> nodes, String idParam) {
|
||||
if (nodes == null) {
|
||||
return null;
|
||||
}
|
||||
List<Tree<T>> topNodes = new ArrayList<Tree<T>>();
|
||||
|
||||
for (Tree<T> children : nodes) {
|
||||
|
||||
String pid = children.getParentId();
|
||||
if (pid == null || idParam.equals(pid)) {
|
||||
topNodes.add(children);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
for (Tree<T> parent : nodes) {
|
||||
String id = parent.getId();
|
||||
if (id != null && id.equals(pid)) {
|
||||
parent.getChildren().add(children);
|
||||
children.setHasParent(true);
|
||||
parent.setChildren(true);
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return topNodes;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user