package com.ruoyi.web.work.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * @author lsw
 * @date 2024-04-15
 */
@Data
@TableName(value = "tb_user")
@Accessors(chain = true)
public class User{
    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty(value = "微信id")
    private String openId;

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

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

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "身份证")
    private String idCard;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "家庭地址")
    private String address;

    @ApiModelProperty(value = "民族")
    private String nationality;

    @ApiModelProperty(value = "生日")
    private String birth;

    @ApiModelProperty(value = "有效期")
    private String endDate;

    @ApiModelProperty(value = "开户行")
    private String bankName;

    @ApiModelProperty(value = "银行卡账号")
    private String bankAccount;

    @ApiModelProperty(value = "支付宝")
    private String alipay;

    @ApiModelProperty(value = "身份证人面像")
    private String p1;

    @ApiModelProperty(value = "身份证人徽面")
    private String p2;

    @ApiModelProperty(value = "是否实名认证")
    private Integer isAuthentication;

    @ApiModelProperty(value = "是否关联企业(关联企业数)")
    private Integer isCompany;

    @ApiModelProperty(value = "是否签署合同:0=未签,1=已签")
    private Integer isContract;

    @ApiModelProperty(value = "是否企业认证:0=未认证,1=已认证")
    private Integer isEnterprise;

    @ApiModelProperty(value = "用户类型")
    private Integer type;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "合同有效期")
    private Date contractDate;

    @ApiModelProperty(value = "状态:0=正常,1=停用")
    private Integer state;

    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(fill = FieldFill.UPDATE)
    private String updateBy;

    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(exist = false)
    private String token;

    @TableField(exist = false)
    private Integer noRead;

    @TableField(exist = false)
    private Integer accept;

    @TableField(exist = false)
    private Integer fullTime;

    @TableField(exist = false)
    private Integer partTime;

    @TableField(exist = false)
    private Integer invite;

    @TableField(exist = false)
    private Integer receive;

    @TableField(exist = false)
    private Integer ask;

    @TableField(exist = false)
    private Integer agree;

    @TableField(exist = false)
    private String resume;

    @TableField(exist = false)
    private String enterprise;
}
