package com.xjrsoft.module.organization.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xjrsoft.common.model.base.AuditEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户
 * </p>
 *
 * @author tzx
 * @since 2022-03-02
 */
@TableName("xjr_user")
@ApiModel(value = "User对象", description = "用户")
@Data
@EqualsAndHashCode(callSuper = false)
public class User extends AuditEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("账户")
    private String userName;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("编号")
    private String code;

    @ApiModelProperty("昵称")
    private String nickName;

    @ApiModelProperty("密码")
    private String password;

    @ApiModelProperty("性别")
    private String gender;


    @ApiModelProperty("手机号")
    private String mobile;

    @ApiModelProperty("角色Id")
    @TableField(exist = false)
    private Long postId;

    @ApiModelProperty("头像")
    private String avatar;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("经度")
    private Double longitude;

    @ApiModelProperty("纬度")
    private Double latitude;

    @ApiModelProperty("排序码")
    private Integer sortCode;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("部门")
    @TableField(exist = false)
    private Long departmentId;

    @ApiModelProperty("openId")
    private String openId;

    @ApiModelProperty("unionId")
    private String unionId;

    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
    private String credentialType;

    @ApiModelProperty("证件号码")
    private String credentialNumber;

    @ApiModelProperty("微信号码")
    private String wechatNumber;

    @ApiModelProperty("qq号码")
    private String qqNumber;

    @ApiModelProperty("是否需要修改密码（1:需要 0:不需要）")
    private Integer isChangePassword;

    private LocalDateTime birthDate;

    @ApiModelProperty("签名文件")
    private Long signFolderId;

    @ApiModelProperty("签名密码")
    private String signPassword;
}
