package org.springblade.common.utils;
|
|
import org.springblade.common.node.TreeIntegerNode;
|
import org.springblade.common.node.TreeLongNode;
|
import org.springblade.common.node.TreeStringNode;
|
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
|
import org.springblade.modules.house.vo.HouseTree;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* node tree 工具类
|
* @author zhongrj
|
* @since 2023-10-28
|
*/
|
public class NodeTreeUtil {
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeIntegerNode> getNodeTree(Map<Integer, TreeIntegerNode> treeMap){
|
List<TreeIntegerNode> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeLongNode> getLongNodeTree(Map<Long, TreeLongNode> treeMap){
|
List<TreeLongNode> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeStringNode> getStringNodeTree(Map<String, TreeStringNode> treeMap){
|
List<TreeStringNode> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<DoorplateAddressVOTree> getAddressNodeTree(Map<String, DoorplateAddressVOTree> treeMap){
|
List<DoorplateAddressVOTree> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((code, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentCode())) {
|
treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<HouseTree> getHouseTree(Map<String, HouseTree> treeMap){
|
List<HouseTree> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((code, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentCode())) {
|
treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
}
|