package com.keao.edu.auth.api.entity;

import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(sys_user):
 */
public class SysUser implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -1374403507360017093L;

	/** 主键ID */
	private Integer id;

	/** 用户名 */
	@ApiModelProperty(value = "用户名",required = false)
	private String username;

	/**  */
	@ApiModelProperty(value = "密码",required = false)
	private String password;

	/** 随机盐 */
	@ApiModelProperty(value = "随机盐",required = false)
	private String salt;

	@ApiModelProperty(value = "手机号",required = false)
	private String phone;

	/** 头像 */
	@ApiModelProperty(value = "头像",required = false)
	private String avatar;

	/** 创建时间 */
	private java.util.Date createTime;

	/** 修改时间 */
	private java.util.Date updateTime;

	/** 0-正常，9-锁定 */
	@ApiModelProperty(value = "0-正常，9-锁定",required = false)
	private Integer lockFlag;

	/** 0-正常，1-删除 */
	@ApiModelProperty(value = "0-正常，1-删除",required = false)
	private Integer delFlag;

	/** 微信openid */
	@ApiModelProperty(value = "微信openid",required = false)
	private String wxOpenid;

	/** QQ openid */
	@ApiModelProperty(value = "QQ openid",required = false)
	private String qqOpenid;

	/** 用户类型 */
//	@ApiModelProperty(value = "用户类型",required = false)
	//STUDENT("学生"), EDU_TEACHER("教务老师"), TEACHER("指导老师"), SYSTEM("系统內置"), ADMIN("管理员")
	private String userType;

	@ApiModelProperty(value = "性别0女1男",required = false)
	private Integer gender;

	@ApiModelProperty(value = "民族",required = false)
	private String nation;

	@ApiModelProperty(value = "生日",required = false)
	private Date birthdate;

	@ApiModelProperty(value = "邮箱",required = false)
	private String email;

	@ApiModelProperty(value = "融云token",required = false)
	private String imToken;

	@ApiModelProperty(value = "身份证号",required = false)
	private String idCardNo;

	@ApiModelProperty(value = "真实姓名",required = false)
	private String realName;

	@ApiModelProperty(value = "微信号",required = false)
	private String wechatId;
	
	@ApiModelProperty(value = "是否是超管",required = false)
	private Boolean isSuperAdmin = false;

	@ApiModelProperty(value = "用户角色",required = false)
	private List<Integer> roles;

	private String tenantId;

	public SysUser() {
	}

	public SysUser(Integer id, String realName) {
		this.id = id;
		this.realName = realName;
	}

	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public String getImToken() {
		return imToken;
	}

	public void setImToken(String imToken) {
		this.imToken = imToken;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUsername() {
		return this.username;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return this.password;
	}

	public void setSalt(String salt) {
		this.salt = salt;
	}

	public String getSalt() {
		return this.salt;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getAvatar() {
		return this.avatar;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public java.util.Date getCreateTime() {
		return this.createTime;
	}

	public void setUpdateTime(java.util.Date updateTime) {
		this.updateTime = updateTime;
	}

	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}

	public Integer getLockFlag() {
		return lockFlag;
	}

	public void setLockFlag(Integer lockFlag) {
		this.lockFlag = lockFlag;
	}

	public Boolean getSuperAdmin() {
		return isSuperAdmin;
	}

	public void setSuperAdmin(Boolean superAdmin) {
		isSuperAdmin = superAdmin;
	}

	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	public void setWxOpenid(String wxOpenid) {
		this.wxOpenid = wxOpenid;
	}

	public String getWxOpenid() {
		return this.wxOpenid;
	}

	public void setQqOpenid(String qqOpenid) {
		this.qqOpenid = qqOpenid;
	}

	public String getQqOpenid() {
		return this.qqOpenid;
	}

	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}

	public Integer getGender() {
		return gender;
	}

	public void setGender(Integer gender) {
		this.gender = gender;
	}

	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}

	public Date getBirthdate() {
		return birthdate;
	}

	public void setBirthdate(Date birthdate) {
		this.birthdate = birthdate;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getIdCardNo() {
		return idCardNo;
	}

	public void setIdCardNo(String idCardNo) {
		this.idCardNo = idCardNo;
	}

	public String getWechatId() {
		return wechatId;
	}

	public void setWechatId(String wechatId) {
		this.wechatId = wechatId;
	}

	public Boolean getIsSuperAdmin() {
		return isSuperAdmin;
	}

	public void setIsSuperAdmin(Boolean isSuperAdmin) {
		this.isSuperAdmin = isSuperAdmin;
	}

	public List<Integer> getRoles() {
		return roles;
	}

	public void setRoles(List<Integer> roles) {
		this.roles = roles;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
