package com.CUST.brain.common.dto.system;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 系统角色请求DTO
 */
@Data
@ApiModel(description = "系统角色请求参数")
public class SysRoleRequestDTO {
    /**
     * 角色ID
     */
    @ApiModelProperty(value = "角色ID", example = "1")
    private String id;

    /**
     * 角色名称
     */
    @NotBlank(message = "角色名称不能为空")
    @Size(max = 50, message = "角色名称长度不能超过50个字符")
    @ApiModelProperty(value = "角色名称", required = true, example = "管理员")
    private String roleName;

    /**
     * 角色编码
     */
    @NotBlank(message = "角色编码不能为空")
    @Size(max = 50, message = "角色编码长度不能超过50个字符")
    @ApiModelProperty(value = "角色编码", required = true, example = "ADMIN")
    private String roleCode;

    /**
     * 角色描述
     */
    @Size(max = 200, message = "角色描述长度不能超过200个字符")
    @ApiModelProperty(value = "角色描述", example = "系统管理员角色")
    private String roleDesc;

    /**
     * 登录类型：1-仅展示端，2-展示端和后台
     */
    @NotNull(message = "登录类型不能为空")
    @ApiModelProperty(value = "登录类型：1-仅展示端，2-展示端和后台", required = true, example = "2")
    private Integer loginType;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序", example = "1")
    private Integer sort;

    /**
     * 状态：0-禁用，1-启用
     */
    @NotNull(message = "状态不能为空")
    @ApiModelProperty(value = "状态：0-禁用，1-启用", required = true, example = "1")
    private Integer status;
} 