package com.zhgd.xmgl.modules.basicdata.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;

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

/**
 * @Description: 系统用户表
 * @author： pds
 * @date： 2023-02-08
 * @version： V1.0
 */
@Data
@TableName("system_user")
@ApiModel(value = "SystemUser实体类", description = "SystemUser")
public class SystemUser implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "用户ID(主键ID)")
    private String userId;
    /**
     * 登录账号
     */
    @Excel(name = "登录账号", width = 15)
    @ApiModelProperty(value = "登录账号")
    private String account;
    /**
     * 登录密码
     */
    @Excel(name = "登录密码", width = 15)
    @ApiModelProperty(value = "登录密码")
    private String password;
    /**
     * 明文密码
     */
    @Excel(name = "明文密码", width = 15)
    @ApiModelProperty(value = "明文密码")
    private String showPassword;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 15)
    @ApiModelProperty(value = "创建时间")
//	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;
    /**
     * 人员姓名
     */
    @Excel(name = "人员姓名", width = 15)
    @ApiModelProperty(value = "人员姓名")
    private String realName;
    /**
     * 人员电话
     */
    @Excel(name = "人员电话", width = 15)
    @ApiModelProperty(value = "人员电话")
    private String userTel;
    /**
     * 所属部门
     */
    @Excel(name = "所属部门", width = 15)
    @ApiModelProperty(value = "所属部门")
    private String department;
    /**
     * 企业或项目sn
     */
    @Excel(name = "企业或项目sn", width = 15)
    @ApiModelProperty(value = "企业或项目sn")
    private String sn;
    /**
     * 账号类型，0系统管理员，1.政务;2.企业;3.项目
     */
    @Excel(name = "账号类型，1系统管理员，2.政务;3.企业;4.项目", width = 15)
    @ApiModelProperty(value = "账号类型，1系统管理员，2.政务;3.企业;4.项目")
    private Integer accountType;
    /**
     * 项目子账号绑定的人员ID
     */
    @Excel(name = "项目子账号绑定的人员ID", width = 15)
    @ApiModelProperty(value = "项目子账号绑定的人员ID")
    private Integer workerId;
    /**
     * 组织岗位Id
     */
    @Excel(name = "组织岗位Id", width = 15)
    @ApiModelProperty(value = "组织岗位Id")
    private Integer jobId;
    /**
     * 外部第三方账号
     */
    @Excel(name = "外部第三方账号", width = 15)
    @ApiModelProperty(value = "外部第三方账号")
    private String externalAccount;
    /**
     * 手机唯一识别码id
     */
    @Excel(name = "手机唯一识别码id", width = 15)
    @ApiModelProperty(value = "手机唯一识别码id")
    private String clientId;

    @Excel(name = "是否为管理员账号", width = 15)
    @ApiModelProperty(value = "是否为管理员账号")
    private Boolean isManager;

    @Excel(name = "工程sn", width = 15)
    @ApiModelProperty(value = "工程sn")
    private String engineeringSn;

    @Excel(name = "状态(0:停用；1:启用)", width = 15)
    @ApiModelProperty(value = "状态(0:停用；1:启用)")
    private Integer state;

	@Excel(name = "邮箱", width = 15)
	@ApiModelProperty(value = "邮箱")
	private String email;

    @TableField(exist = false)
    @ApiModelProperty(value = "token")
    private String token;
}
