package com.ld.igds.data; import lombok.Data; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @author vince.xu * @Title: LayTree * @ProjectName ibms * @Description: 对layui树状数据封装 * @date 2019/5/20 002016:18 */ @Data public class LayTree { /** * 编号 */ private String id; /** * 父编号 */ private String parentId; /** * 名称 */ private String name; /** * 顺序 */ private Integer sort; /** * 是否默认展开 */ private boolean spread = false; /** * 子数据 */ private List children; @SuppressWarnings("unused") private static void forEach(Map> collect, LayTree treeMenuNode) { List treeMenuNodes = collect.get(treeMenuNode.getId()); if(collect.get(treeMenuNode.getId())!=null){ //排序 treeMenuNodes.sort((u1, u2) -> u1.getSort().compareTo(u2.getSort())); treeMenuNodes.stream().sorted(Comparator.comparing(LayTree::getSort)).collect(Collectors.toList()); treeMenuNode.setChildren(treeMenuNodes); treeMenuNode.getChildren().forEach(t->{ forEach(collect,t); }); } } }