package com.reyun.saas.mob.user.dto.user;

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

import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**

 * @ClassName: UserInputDTO
 * @Description: 用户输入类
 * @date 2019-07-24 11:21
 */
@Data
@ApiModel(value="UserInputDTO",description="用户输入类")
public class UserInputDTO {

    @ApiModelProperty(value="主键ID, 新增不传值, 修改传值")
    private Long id;

    @NotNull(message = "用户名不能为空")
    @Email
    @ApiModelProperty(value="用户名")
    private String username;

    @NotNull(message = "密码不能为空")
    @ApiModelProperty(value="密码")
    private String password;

    @ApiModelProperty(value="真实姓名")
    private String actualName;

    @ApiModelProperty(value="性别")
    private int sex;

    @ApiModelProperty(value="电话")
    private String phone;

    @ApiModelProperty(value="公司")
    private String company;

    @ApiModelProperty(value="QQ")
    private String qq;

    @ApiModelProperty(value="微信")
    private String wechat;

    @ApiModelProperty(value="头像")
    private String headPortrait;

    @ApiModelProperty(value="用户角色")
    private Integer roleCategory;

    @ApiModelProperty(value="主用户的id",hidden=true)
    private Long rootParent;

    @ApiModelProperty(value="上级用户")
    private Long leaderParent;

    @ApiModelProperty(value="启用状态(0-禁用，1-启用)",hidden=true)
    private Integer status;

    @ApiModelProperty(value = "客户端id",required =true)
    private String clientId;
    @ApiModelProperty(value = "客户端密码",required =true)
    private String clientSecret;
    @ApiModelProperty(value = "范围",hidden=true)
    private String scope;

    @ApiModelProperty(value = "授权类型",hidden=true)
    private String grantType;

    @ApiModelProperty(hidden=true)
    private String refreshToken;

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

    @ApiModelProperty(value="修改时间",hidden=true)
    private Date modifyTime;

    @ApiModelProperty(value="角色ID 集合(eg: 1,2,5,6)")
    private String roleIds;

    @ApiModelProperty(value="权限ID 集合(eg: 1,2,5,6)")
    private String menuIds;

    @ApiModelProperty(value="单点登录系统的token")
    private String yucToken;

    @ApiModelProperty(value="用户来源")
    private Integer userSourceType;

}
