package com.muyu.system.domain.vo; import com.fasterxml.jackson.annotation.JsonInclude; import com.muyu.common.system.domain.SysDept; import com.muyu.system.domain.SysMenu; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; import java.util.stream.Collectors; /** * Treeselect树结构实体类 * * @author muyu */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class TreeSelect implements Serializable { private static final long serialVersionUID = 1L; /** * 节点ID */ private Long id; /** * 节点名称 */ private String label; /** * 子节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; public TreeSelect (SysDept dept) { this.id = dept.getDeptId(); this.label = dept.getDeptName(); this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); } public TreeSelect (SysMenu menu) { this.id = menu.getMenuId(); this.label = menu.getMenuName(); this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); } }