package com.pj.project.sys_user;

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

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * Model: sys_user -- 用户表
 * @author shengzhang 
 */
@Data
@Accessors(chain = true)
public class SysUser implements Serializable {

	// ---------- 模块常量 ----------
	/**
	 * 序列化版本id 
	 */
	private static final long serialVersionUID = 1L;	
	/**
	 * 此模块对应的表名 
	 */
	public static final String TABLE_NAME = "sys_user";	
	/**
	 * 此模块对应的权限码 
	 */
	public static final String PERMISSION_CODE = "sys-user";	


	// ---------- 表中字段 ----------
	/**
	 * id号 
	 */
	private Long id;	

	/**
	 * 用户昵称 
	 */
	private String username;	

	/**
	 * 账号密码 
	 */
	private String password;	

	/**
	 * 用户头像 
	 */
	private String avatar;	

	/**
	 * 个人介绍(签名) 
	 */
	private String intro;	

	/**
	 * 用户年龄 
	 */
	private Integer age;	

	/**
	 * 用户性别 (1=男,2=女,3=未知) 
	 */
	private Integer sex;	

	/**
	 * 手机号 
	 */
	private String phone;	

	/**
	 * 用户邮箱 
	 */
	private String email;	

	/**
	 * 账号状态(1=正常,2=禁用) 
	 */
	private Integer status;	

	/**
	 * 创建时间 
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date createTime;	

	/**
	 * 上次登陆时间 
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date loginTime;	

	/**
	 * 上次登陆IP 
	 */
	private String loginIp;	

	/**
	 * 登陆次数 
	 */
	private Integer loginCount;	

	/**
	 * 是否删除（1=否,2=是）
	 */
	private Integer isDel;	


	/** 防止密码被传递到前台  */
    public String getPassword(){
    	return "********";
    }
    /** 获取真实密码   */
    @JsonIgnore()
    public String getPassword2(){
    	return this.password;
    }
	


	


}
