package com.ho.user.vo.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;


@Data
public class PermissionAddReqVO {
    @ApiModelProperty(value = "菜单权限名称")
    @NotBlank(message = "菜单权限名称不能为空")
    @Length(min = 1, max = 50,message = "菜单权限名称不能超过50个字符")
    private String name;

    @ApiModelProperty(value = "菜单权限标识，shiro 适配restful")
    @Length(max = 50,message = "菜单权限标识不能超过50个字符")
    private String perms;

    @ApiModelProperty(value = "接口地址")
    @Length(max = 50,message = "接口地址不能超过50个字符")
    private String url;

    @ApiModelProperty(value = "图标字符")
    @Length(max = 200,message = "图标字符长度不能超过200个字符")
    private String icon;

    @ApiModelProperty(value = "请求方式 和url 配合使用 (我们用 路径匹配的方式做权限管理的时候用到)")
    @Length(max = 50,message = "请求方式不能超过50个字符")
    private String method;

    @ApiModelProperty(value = "父级id")
    @NotNull(message = "所属菜单不能为空")
    private Integer pid;

    @ApiModelProperty(value = "排序码")
  //  @NotNull(message = "排序码不能为空")
    private Integer orderNum;

    @ApiModelProperty(value = "菜单权限类型(1:目录;2:菜单;3:按钮)")
    @NotNull(message = "菜单权限类型不能为空")
    private Integer type;

    @ApiModelProperty(value = "菜单展示类型:all(通用类型) pc(仅PC端展示) app(仅APP展示)")
    private String show;

    @ApiModelProperty(value = "状态1:正常 0：禁用")
    private Integer status;

    @ApiModelProperty(value = "编码(前后端分离 前段对按钮显示隐藏控制 btn-permission-search 代表 菜单权限管理的列表查询按钮)")
    private String code;

    @ApiModelProperty(value = "是否组态页面 (1：是；0：否)")
    private Integer isConfig;

    @ApiModelProperty(value = "组态地址")
    private String component;

    @ApiModelProperty(value = "路由名称")
    private String menuName;
}
