package com.huimv.employment.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;

/**
 * 批次登记记录 {@code fe_worker_registration} 实体。
 */
@TableName("fe_worker_registration")
public class FeWorkerRegistration {

    @TableId(type = IdType.AUTO)
    private Long id;

    private Long batchId;

    private Long orderId;

    private Long enterpriseId;

    private Long workerId;

    private String realName;

    private String mobileEnc;

    private String mobileMask;

    private String idCardNoEnc;

    private String bankAccountEnc;

    private String confirmedWorkType;

    /**
     * 是否第三方人力来源。
     * <ul>
     *   <li>0：否（有临时工 / 人员登记）</li>
     *   <li>1：是（无临时工，从第三方人力平台匹配）</li>
     * </ul>
     */
    private Integer thirdPartySource;

    /** pending / registering / under_review / contract_signing / completed / verify_failed / rejected */
    private String regStatus;

    private String failReason;

    private LocalDateTime submittedAt;

    private LocalDateTime reviewedAt;

    private Long reviewedBy;

    private Integer remindCount;

    private LocalDateTime lastRemindAt;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    @TableLogic
    private Integer delFlag;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBatchId() {
        return batchId;
    }

    public void setBatchId(Long batchId) {
        this.batchId = batchId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Long getWorkerId() {
        return workerId;
    }

    public void setWorkerId(Long workerId) {
        this.workerId = workerId;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getMobileEnc() {
        return mobileEnc;
    }

    public void setMobileEnc(String mobileEnc) {
        this.mobileEnc = mobileEnc;
    }

    public String getMobileMask() {
        return mobileMask;
    }

    public void setMobileMask(String mobileMask) {
        this.mobileMask = mobileMask;
    }

    public String getIdCardNoEnc() {
        return idCardNoEnc;
    }

    public void setIdCardNoEnc(String idCardNoEnc) {
        this.idCardNoEnc = idCardNoEnc;
    }

    public String getBankAccountEnc() {
        return bankAccountEnc;
    }

    public void setBankAccountEnc(String bankAccountEnc) {
        this.bankAccountEnc = bankAccountEnc;
    }

    public String getConfirmedWorkType() {
        return confirmedWorkType;
    }

    public void setConfirmedWorkType(String confirmedWorkType) {
        this.confirmedWorkType = confirmedWorkType;
    }

    public Integer getThirdPartySource() {
        return thirdPartySource;
    }

    public void setThirdPartySource(Integer thirdPartySource) {
        this.thirdPartySource = thirdPartySource;
    }

    public String getRegStatus() {
        return regStatus;
    }

    public void setRegStatus(String regStatus) {
        this.regStatus = regStatus;
    }

    public String getFailReason() {
        return failReason;
    }

    public void setFailReason(String failReason) {
        this.failReason = failReason;
    }

    public LocalDateTime getSubmittedAt() {
        return submittedAt;
    }

    public void setSubmittedAt(LocalDateTime submittedAt) {
        this.submittedAt = submittedAt;
    }

    public LocalDateTime getReviewedAt() {
        return reviewedAt;
    }

    public void setReviewedAt(LocalDateTime reviewedAt) {
        this.reviewedAt = reviewedAt;
    }

    public Long getReviewedBy() {
        return reviewedBy;
    }

    public void setReviewedBy(Long reviewedBy) {
        this.reviewedBy = reviewedBy;
    }

    public Integer getRemindCount() {
        return remindCount;
    }

    public void setRemindCount(Integer remindCount) {
        this.remindCount = remindCount;
    }

    public LocalDateTime getLastRemindAt() {
        return lastRemindAt;
    }

    public void setLastRemindAt(LocalDateTime lastRemindAt) {
        this.lastRemindAt = lastRemindAt;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }
}
