/**
 *@Generated by sagacity-quickvo 5.0
 */
package cn.pojo.entity;

import java.io.Serializable;
import cn.orm.sqltoy.config.annotation.Entity;
import cn.orm.sqltoy.config.annotation.Id;
import cn.orm.sqltoy.config.annotation.Column;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;

/**
 * @project sqltoy-quickstart
 * @author BJTU
 * @version 1.0.0 
 */
@Schema(name="TSysUser",description="用户信息表")
@Data
@Accessors(chain = true)
@Entity(tableName="t_sys_user",comment="用户信息表",pk_constraint="PRIMARY")
public class TSysUser implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 2357463276954149648L;
/*---begin-auto-generate-don't-update-this-area--*/	
	/**
	 * jdbcType:INT
	 */
	@Schema(name="userId",description="用户ID",nullable=false)
	@Id(strategy="identity")
	@Column(name="user_id",comment="用户ID",length=10L,type=java.sql.Types.INTEGER,nullable=false,autoIncrement=true)
	private Integer userId;
	
	/**
	 * jdbcType:INT
	 */
	@Schema(name="deptId",description="部门ID(具有唯一性)",nullable=true)
	@Column(name="dept_id",comment="部门ID(具有唯一性)",length=10L,type=java.sql.Types.INTEGER,nullable=true)
	private Integer deptId;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="roleIds",description="角色ID(,分割role_id)",nullable=true)
	@Column(name="role_ids",comment="角色ID(,分割role_id)",length=120L,type=java.sql.Types.VARCHAR,nullable=true)
	private String roleIds;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="postIds",description="岗位ID(,分割post_id)",nullable=true)
	@Column(name="post_ids",comment="岗位ID(,分割post_id)",length=120L,type=java.sql.Types.VARCHAR,nullable=true)
	private String postIds;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="userName",description="登录账号(具有唯一性)",nullable=true)
	@Column(name="user_name",comment="登录账号(具有唯一性)",length=30L,type=java.sql.Types.VARCHAR,nullable=true)
	private String userName;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="nickName",description="用户昵称(真实姓名)",nullable=true)
	@Column(name="nick_name",comment="用户昵称(真实姓名)",length=30L,type=java.sql.Types.VARCHAR,nullable=true)
	private String nickName;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="email",description="用户邮箱",nullable=true)
	@Column(name="email",comment="用户邮箱",length=50L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String email;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="phonenumber",description="手机号码",nullable=true)
	@Column(name="phonenumber",comment="手机号码",length=11L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String phonenumber;
	
	/**
	 * jdbcType:CHAR
	 */
	@Schema(name="sex",description="用户性别",nullable=true)
	@Column(name="sex",comment="用户性别",length=1L,defaultValue="0",type=java.sql.Types.CHAR,nullable=true)
	private String sex;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="avatar",description="头像地址",nullable=true)
	@Column(name="avatar",comment="头像地址",length=100L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String avatar;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="password",description="密码",nullable=true)
	@Column(name="password",comment="密码",length=80L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String password;
	
	/**
	 * jdbcType:CHAR
	 */
	@Schema(name="status",description="帐号状态",nullable=true)
	@Column(name="status",comment="帐号状态",length=1L,defaultValue="0",type=java.sql.Types.CHAR,nullable=true)
	private String status;
	
	/**
	 * jdbcType:CHAR
	 */
	@Schema(name="delFlag",description="删除标志",nullable=true)
	@Column(name="del_flag",comment="删除标志",length=1L,defaultValue="0",type=java.sql.Types.CHAR,nullable=true)
	private String delFlag;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="loginIp",description="最后登陆IP(或手机唯一标志)",nullable=true)
	@Column(name="login_ip",comment="最后登陆IP(或手机唯一标志)",length=50L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String loginIp;
	
	/**
	 * jdbcType:DATETIME
	 */
	@Schema(name="loginDate",description="最后登陆时间",nullable=true)
	@Column(name="login_date",comment="最后登陆时间",length=19L,type=java.sql.Types.DATE,nullable=true)
	private LocalDateTime loginDate;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="createBy",description="创建者",nullable=true)
	@Column(name="create_by",comment="创建者",length=64L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String createBy;
	
	/**
	 * jdbcType:DATETIME
	 */
	@Schema(name="createTime",description="创建时间",nullable=true)
	@Column(name="create_time",comment="创建时间",length=19L,type=java.sql.Types.DATE,nullable=true)
	private LocalDateTime createTime;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="updateBy",description="更新者",nullable=true)
	@Column(name="update_by",comment="更新者",length=64L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String updateBy;
	
	/**
	 * jdbcType:DATETIME
	 */
	@Schema(name="updateTime",description="更新时间",nullable=true)
	@Column(name="update_time",comment="更新时间",length=19L,type=java.sql.Types.DATE,nullable=true)
	private LocalDateTime updateTime;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="remark",description="备注",nullable=true)
	@Column(name="remark",comment="备注",length=150L,type=java.sql.Types.VARCHAR,nullable=true)
	private String remark;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="salt",description="md5密码盐",nullable=true)
	@Column(name="salt",comment="md5密码盐",length=45L,type=java.sql.Types.VARCHAR,nullable=true)
	private String salt;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="clientId",description="设备ID",nullable=true)
	@Column(name="client_id",comment="设备ID",length=64L,type=java.sql.Types.VARCHAR,nullable=true)
	private String clientId;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="relTenantIds",description="多租户标识",nullable=true)
	@Column(name="rel_tenant_ids",comment="多租户标识",length=100L,type=java.sql.Types.VARCHAR,nullable=true)
	private String relTenantIds;
	
	/** default constructor */
	public TSysUser() {
	}
	
	/** pk constructor */
	public TSysUser(Integer userId)
	{
		this.userId=userId;
	}
/*---end-auto-generate-don't-update-this-area--*/
}
