package com.pj.project.app_user;

import java.io.Serializable;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;

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

/**
 * Model: app_user -- 移动端账号
 * @author qzy 
 */
@Data
@Accessors(chain = true)
@TableName(AppUser.TABLE_NAME)
@EqualsAndHashCode(callSuper = false)
public class AppUser extends Model<AppUser> implements Serializable {

	// ---------- 模块常量 ----------
	/**
	 * 序列化版本id 
	 */
	private static final long serialVersionUID = 1L;	
	/**
	 * 此模块对应的表名 
	 */
	public static final String TABLE_NAME = "app_user";	
	/**
	 * 此模块对应的权限码 
	 */
	public static final String PERMISSION_CODE = "app-user";
	public static final String PERMISSION_CODE_ADD = "app-user-add";
	public static final String PERMISSION_CODE_EDIT = "app-user-edit";
	public static final String PERMISSION_CODE_DEL = "app-user-del";




	// ---------- 表中字段 ----------
	/**
	 * 主键 
	 */
	@TableId(type = IdType.AUTO)
	private Long id;	

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

	/**
	 * 姓名 
	 */
	private String name;	

	/**
	 * 类型(1=边民,2=组长,3=商户,4=收购商,5=司机) 
	 */
	private Integer userType;

	/**
	 * 外联id,user_type=1=>边民ID；user_type=3=>商户ID 
	 */
	private Long fkId;

	/**
	 * 状态(0=禁用,1=启用) 
	 */
	private String status;	

	/**
	 * 是否认证(0=未认证,1=已认证) 
	 */
	private String auth;	

	/**
	 * 人证时间 
	 */
	private String authTime;
	/**
	 *人脸库ID
	 */
	private String faceId;

	/**
	 * 登录次数 
	 */
	private Long loginCount;	

	/**
	 * 上次登录时间 
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date lastLoginTime;

	/**
	 * 创建时间 
	 */
	private Date createTime;	

	/**
	 * 更新者id 
	 */
	private String updateById;	

	/**
	 * 更新者名称 
	 */
	private String updateByName;	

	/**
	 * 更新时间 
	 */
	private Date updateTime;

	/**
	 * 逻辑删除
	 */
	private Integer deleteStatus;

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

	/**
	 * 边民是否首次使用APP人脸认证(0=未认证,1=已认证);
	 */
	private Integer face;

	/**
	 * 验证时间
	 */
	private Date faceTime;

	/**
	 * 创建单位
	 */
	private String createUnit;
}
