package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role;

import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
import cn.iocoder.yudao.module.system.enums.permission.DataScopeEnum;
import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.Set;

/**
 * 角色 分页
 */
@Data
public class RolePageRespVO {

    @ApiModelProperty(value = "ID", example = "ID")
    private Long id;

    @ApiModelProperty(value = "角色名称", example = "管理员")
    private String name;

    @ApiModelProperty(value = "角色编码", example = "ADMIN")
    private String code;

    @ApiModelProperty(value = "显示顺序不能为空", example = "1024")
    private Integer sort;

    @ApiModelProperty(value = "角色状态", example = "1")
    private Integer status;

    @ApiModelProperty(value = "角色类型", example = "1")
    private Integer type;

    @ApiModelProperty(value = "备注", example = "我是一个角色")
    private String remark;

    @ApiModelProperty(value = "数据范围", example = "枚举 {@link DataScopeEnum}")
    private Integer dataScope;

    @ApiModelProperty(value = "数据范围(指定部门数组)", example = "1,2")
    private Set<Long> dataScopeDeptIds;

    @ApiModelProperty(value = "租户ID", example = "1")
    private Long tenantId;

    @ApiModelProperty(value = "创建时间", example = "1")
    private Date createTime;

}
