package org.springblade.common.auth.support;

import com.wn.common.datamodel.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 菜单信息
 * </p>
 *
 * @author wpp
 * @since 2019-09-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "菜单信息", description = "菜单信息")
public class MenuV2 extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 应用ID
     */
    @ApiModelProperty(name = "applicationId", value = "应用ID")
    private Long applicationId;
    /**
     * 父菜单ID
     */
    @ApiModelProperty(name = "parentId", value = "父菜单ID")
    private Long parentId;
    /**
     * 菜单编码
     */
    @ApiModelProperty(name = "code", value = "菜单编码")
    private String code;
    /**
     * 菜单名称
     */
    @ApiModelProperty(name = "name", value = "菜单名称")
    private String name;
    /**
     * 类型。1:目录 2:页面
     */
    @ApiModelProperty(name = "type", value = "类型。1:目录 2:页面")
    private Integer type;
    /**
     * 应用图标在OSS上的URL
     */
    @ApiModelProperty(name = "iconUrl", value = "应用图标在OSS上的URL")
    private String iconUrl;
    /**
     * 页面URL
     */
    @ApiModelProperty(name = "url", value = "页面URL")
    private String url;
    /**
     * 菜单路径
     */
    @ApiModelProperty(name = "component", value = "菜单路径")
    private String component;
    /**
     * 状态，0:无效，1:有效
     */
    @ApiModelProperty(name = "status", value = "状态，0:无效，1:有效")
    private Integer status;
    /**
     * 显示顺序
     */
    @ApiModelProperty(name = "sequenceNumber", value = "显示顺序")
    private Integer sequenceNumber;
    /**
     * 菜单描述
     */
    @ApiModelProperty(name = "description", value = "菜单描述")
    private String description;
    /**
     * 子菜单列表
     */
    @ApiModelProperty(name = "children", value = "子菜单列表")
    private List<MenuV2> children;
    /**
     * 操作列表
     */
    @ApiModelProperty(name = "operations", value = "操作列表")
    private List<Operation> operations;
}
