package cn.stylefeng.roses.kernel.system.api.pojo.menu; import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; import cn.stylefeng.roses.kernel.rule.tree.factory.base.AbstractTreeNode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * 新版的角色绑定菜单和按钮,用在角色分配菜单和按钮节点 * * @author fengshuonan * @date 2021/8/10 22:36 */ @Data @ApiModel(value = "菜单和按钮树形结构") public class MenuAndButtonTreeResponse implements AbstractTreeNode { /** * 节点ID,可以是菜单id和按钮id */ @ApiModelProperty("节点ID") @ChineseDescription("节点ID") private Long id; /** * 节点父ID */ @ApiModelProperty("节点父ID") @ChineseDescription("节点父ID") private Long pid; /** * 节点名称 */ @ApiModelProperty("节点名称") @ChineseDescription("节点名称") private String name; /** * code */ @ApiModelProperty("code") @ChineseDescription("code") private String code; /** * 是否选择(已拥有的是true) */ @ApiModelProperty("是否选择(已拥有的是true)") @ChineseDescription("是否选择(已拥有的是true)") private Boolean checked; /** * 当前节点的按钮集合 */ @ApiModelProperty("当前节点的按钮集合") @ChineseDescription("当前节点的按钮集合") private List buttons; /** * 子节点集合 */ @ApiModelProperty("子节点集合") @ChineseDescription("子节点集合") private List children; @Override public String getNodeId() { if (this.id != null) { return this.id.toString(); } else { return ""; } } @Override public String getNodeParentId() { if (this.pid != null) { return this.pid.toString(); } else { return ""; } } @Override public void setChildrenNodes(List childrenNodes) { this.children = childrenNodes; } }