package com.sunxung.factoring.entity.financing.review;

import com.baomidou.mybatisplus.annotation.TableField;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.FileStorage;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.Length;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
 * @Description : 额度支用：相关还款责任人历史信息
 * @Author : L.Jia
 * @Date: 2021-07-15 14:08
 */
public class ReviewRltRepayHis extends BaseEntity {

    /**
     * 对应额度支用信息Id
     **/
    private Long reviewQuotaDisburseHisId;

    /**
     * 身份类别
     **/
    private String arlpIdType;

    @Length(max = 80, message = "责任人名称不能超过80个字符")
    private String arlpName;

    /**
     * 责任人身份标识类型
     **/
    private String arlpCertType;

    @Length(max = 40, message = "责任人身份标识号码不能超过40个字符")
    private String arlpCertNum;

    @Length(max = 25, message = "责任人联系方式不超过25个字符")
    private String responsiblePhone;

    @Email(message = "责任人邮箱格式不正确")
    private String responsibleEmail;

    /**
     * 上报方式 1:A类，0:B类
     **/
    private Integer responsibleReportMethod;

    /**
     * 还款责任人类型
     **/
    private String arlpType;

    @Length(max = 15, message = "还款责任金额不超过15个字符")
    private String arlpAmt;

    /**
     * 联保标志 0:单人保证/多人分保,1:联保
     **/
    private Integer wartySign;

    /**
     * 保证合同标识码
     **/
    private String maxGuarMcc;

    /**
     * 国别
     **/
    private String nationality;

    /**
     * '担保对象,01 债权人 02债务人',
     */
    private String guaranteeObject;
    /**
     * 债权人id/债务人id
     */
    private Long guaranteeObjectId;
    /**
     * 债权人name/债务人name
     */
    private String guaranteeObjectName;

    /**
     * 住所地（身份证地址）
     */
    private String address;
    /**
     * 实际地址（实际地址）
     */
    private String actualAddress;
    /**
     * 担保人证照正面
     */
    private Long guaranteeCardFrontFileStorageId;
    @TableField(exist = false)
    private MultipartFile guaranteeCardFrontFile;
    @TableField(exist = false)
    private FileStorage guaranteeCardFrontFileStorage;
    /**
     * 担保人证照反面
     */
    private Long guaranteeCardReverseFileStorageId;
    @TableField(exist = false)
    private MultipartFile guaranteeCardReverseFile;
    @TableField(exist = false)
    private FileStorage guaranteeCardReverseFileStorage;
    /**
     * 担保人配偶
     */
    private String spouseName;
    /**
     * 配偶证件类型
     */
    private String spouseCardType;

    /**
     * 配偶身份证号码
     */
    private String spouseIdCard;
    /**
     * 配偶联系方式
     */
    private String spouseContactNumber;
    /**
     * 配偶证照正面
     */
    private Long spouseCardFrontFileStorageId;

    @TableField(exist = false)
    private FileStorage spouseCardFrontFileStorage;
    /**
     * 配偶证照反面
     */
    private Long spouseCardReverseFileStorageId;

    @TableField(exist = false)
    private FileStorage spouseCardReverseFileStorage;
    /**
     * 法定代表人
     */
    private String legalRepresentative;
    /**
     * 是否有资产清单 0否，1有
     */
    @TableField("is_property_list")
    private Integer propertyList;
    /**
     * 担保函类型： 1：最高额保证合同 0：常规担保函
     */
    private Integer guaranteeClassify;
    /**
     * 原保证合同编号
     */
    private String guaranteeContractNo;
    /**
     * 上传的文件
     */
    @TableField(exist = false)
    private List<MultipartFile> multipartFiles;
    @TableField(exist = false)
    private List<Long> multipartFilesIds;
    @TableField(exist = false)
    private List<FileStorage> fileStorages;

    /**
     * 相关还款责任人不动产房产
     */
    @TableField(exist = false)
    private List<ReviewRltRepayEstateHistory> reviewRltRepayEstatesHistory;
    /**
     * 相关还款责任人:不动产(土地)
     */
    @TableField(exist = false)
    private List<ReviewRltRepayLandHistory> reviewRltRepayLandsHistory;
    /**
     * 相关还款责任人:动产(车辆信息)
     */
    @TableField(exist = false)
    private List<ReviewRltRepayVehicleHistory> reviewRltRepayVehiclesHistory;
    /**
     * 相关还款责任人:股权资产
     */
    @TableField(exist = false)
    private List<ReviewRltRepayEquityAssetsHistory> reviewRltRepayEquityAssetsHistory;
    /**
     * 相关还款责任人:其他资产
     */
    @TableField(exist = false)
    private List<ReviewRltRepayOtherAssetsHistory> reviewRltRepayOtherAssetsHistory;

    public Long getReviewQuotaDisburseHisId() {
        return reviewQuotaDisburseHisId;
    }

    public void setReviewQuotaDisburseHisId(Long reviewQuotaDisburseHisId) {
        this.reviewQuotaDisburseHisId = reviewQuotaDisburseHisId;
    }

    public String getArlpIdType() {
        return arlpIdType;
    }

    public void setArlpIdType(String arlpIdType) {
        this.arlpIdType = arlpIdType;
    }

    public String getArlpName() {
        return arlpName;
    }

    public void setArlpName(String arlpName) {
        this.arlpName = arlpName;
    }

    public String getArlpCertType() {
        return arlpCertType;
    }

    public void setArlpCertType(String arlpCertType) {
        this.arlpCertType = arlpCertType;
    }

    public String getArlpCertNum() {
        return arlpCertNum;
    }

    public void setArlpCertNum(String arlpCertNum) {
        this.arlpCertNum = arlpCertNum;
    }

    public String getResponsiblePhone() {
        return responsiblePhone;
    }

    public void setResponsiblePhone(String responsiblePhone) {
        this.responsiblePhone = responsiblePhone;
    }

    public String getResponsibleEmail() {
        return responsibleEmail;
    }

    public void setResponsibleEmail(String responsibleEmail) {
        this.responsibleEmail = responsibleEmail;
    }

    public Integer getResponsibleReportMethod() {
        return responsibleReportMethod;
    }

    public void setResponsibleReportMethod(Integer responsibleReportMethod) {
        this.responsibleReportMethod = responsibleReportMethod;
    }

    public String getArlpType() {
        return arlpType;
    }

    public void setArlpType(String arlpType) {
        this.arlpType = arlpType;
    }

    public String getArlpAmt() {
        return arlpAmt;
    }

    public void setArlpAmt(String arlpAmt) {
        this.arlpAmt = arlpAmt;
    }

    public Integer getWartySign() {
        return wartySign;
    }

    public void setWartySign(Integer wartySign) {
        this.wartySign = wartySign;
    }

    public String getMaxGuarMcc() {
        return maxGuarMcc;
    }

    public void setMaxGuarMcc(String maxGuarMcc) {
        this.maxGuarMcc = maxGuarMcc;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public String getGuaranteeObject() {
        return guaranteeObject;
    }

    public void setGuaranteeObject(String guaranteeObject) {
        this.guaranteeObject = guaranteeObject;
    }

    public Long getGuaranteeObjectId() {
        return guaranteeObjectId;
    }

    public void setGuaranteeObjectId(Long guaranteeObjectId) {
        this.guaranteeObjectId = guaranteeObjectId;
    }

    public String getGuaranteeObjectName() {
        return guaranteeObjectName;
    }

    public void setGuaranteeObjectName(String guaranteeObjectName) {
        this.guaranteeObjectName = guaranteeObjectName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getActualAddress() {
        return actualAddress;
    }

    public void setActualAddress(String actualAddress) {
        this.actualAddress = actualAddress;
    }

    public Long getGuaranteeCardFrontFileStorageId() {
        return guaranteeCardFrontFileStorageId;
    }

    public void setGuaranteeCardFrontFileStorageId(Long guaranteeCardFrontFileStorageId) {
        this.guaranteeCardFrontFileStorageId = guaranteeCardFrontFileStorageId;
    }

    public MultipartFile getGuaranteeCardFrontFile() {
        return guaranteeCardFrontFile;
    }

    public void setGuaranteeCardFrontFile(MultipartFile guaranteeCardFrontFile) {
        this.guaranteeCardFrontFile = guaranteeCardFrontFile;
    }

    public FileStorage getGuaranteeCardFrontFileStorage() {
        return guaranteeCardFrontFileStorage;
    }

    public void setGuaranteeCardFrontFileStorage(FileStorage guaranteeCardFrontFileStorage) {
        this.guaranteeCardFrontFileStorage = guaranteeCardFrontFileStorage;
    }

    public Long getGuaranteeCardReverseFileStorageId() {
        return guaranteeCardReverseFileStorageId;
    }

    public void setGuaranteeCardReverseFileStorageId(Long guaranteeCardReverseFileStorageId) {
        this.guaranteeCardReverseFileStorageId = guaranteeCardReverseFileStorageId;
    }

    public MultipartFile getGuaranteeCardReverseFile() {
        return guaranteeCardReverseFile;
    }

    public void setGuaranteeCardReverseFile(MultipartFile guaranteeCardReverseFile) {
        this.guaranteeCardReverseFile = guaranteeCardReverseFile;
    }

    public FileStorage getGuaranteeCardReverseFileStorage() {
        return guaranteeCardReverseFileStorage;
    }

    public void setGuaranteeCardReverseFileStorage(FileStorage guaranteeCardReverseFileStorage) {
        this.guaranteeCardReverseFileStorage = guaranteeCardReverseFileStorage;
    }

    public String getSpouseName() {
        return spouseName;
    }

    public void setSpouseName(String spouseName) {
        this.spouseName = spouseName;
    }

    public String getSpouseCardType() {
        return spouseCardType;
    }

    public void setSpouseCardType(String spouseCardType) {
        this.spouseCardType = spouseCardType;
    }

    public String getSpouseIdCard() {
        return spouseIdCard;
    }

    public void setSpouseIdCard(String spouseIdCard) {
        this.spouseIdCard = spouseIdCard;
    }

    public String getSpouseContactNumber() {
        return spouseContactNumber;
    }

    public void setSpouseContactNumber(String spouseContactNumber) {
        this.spouseContactNumber = spouseContactNumber;
    }

    public Long getSpouseCardFrontFileStorageId() {
        return spouseCardFrontFileStorageId;
    }

    public void setSpouseCardFrontFileStorageId(Long spouseCardFrontFileStorageId) {
        this.spouseCardFrontFileStorageId = spouseCardFrontFileStorageId;
    }

    public FileStorage getSpouseCardFrontFileStorage() {
        return spouseCardFrontFileStorage;
    }

    public void setSpouseCardFrontFileStorage(FileStorage spouseCardFrontFileStorage) {
        this.spouseCardFrontFileStorage = spouseCardFrontFileStorage;
    }

    public Long getSpouseCardReverseFileStorageId() {
        return spouseCardReverseFileStorageId;
    }

    public void setSpouseCardReverseFileStorageId(Long spouseCardReverseFileStorageId) {
        this.spouseCardReverseFileStorageId = spouseCardReverseFileStorageId;
    }

    public FileStorage getSpouseCardReverseFileStorage() {
        return spouseCardReverseFileStorage;
    }

    public void setSpouseCardReverseFileStorage(FileStorage spouseCardReverseFileStorage) {
        this.spouseCardReverseFileStorage = spouseCardReverseFileStorage;
    }

    public String getLegalRepresentative() {
        return legalRepresentative;
    }

    public void setLegalRepresentative(String legalRepresentative) {
        this.legalRepresentative = legalRepresentative;
    }

    public Integer getPropertyList() {
        return propertyList;
    }

    public void setPropertyList(Integer propertyList) {
        this.propertyList = propertyList;
    }

    public Integer getGuaranteeClassify() {
        return guaranteeClassify;
    }

    public void setGuaranteeClassify(Integer guaranteeClassify) {
        this.guaranteeClassify = guaranteeClassify;
    }

    public String getGuaranteeContractNo() {
        return guaranteeContractNo;
    }

    public void setGuaranteeContractNo(String guaranteeContractNo) {
        this.guaranteeContractNo = guaranteeContractNo;
    }

    public List<MultipartFile> getMultipartFiles() {
        return multipartFiles;
    }

    public void setMultipartFiles(List<MultipartFile> multipartFiles) {
        this.multipartFiles = multipartFiles;
    }

    public List<Long> getMultipartFilesIds() {
        return multipartFilesIds;
    }

    public void setMultipartFilesIds(List<Long> multipartFilesIds) {
        this.multipartFilesIds = multipartFilesIds;
    }

    public List<FileStorage> getFileStorages() {
        return fileStorages;
    }

    public void setFileStorages(List<FileStorage> fileStorages) {
        this.fileStorages = fileStorages;
    }

    public List<ReviewRltRepayEstateHistory> getReviewRltRepayEstatesHistory() {
        return reviewRltRepayEstatesHistory;
    }

    public void setReviewRltRepayEstatesHistory(List<ReviewRltRepayEstateHistory> reviewRltRepayEstatesHistory) {
        this.reviewRltRepayEstatesHistory = reviewRltRepayEstatesHistory;
    }

    public List<ReviewRltRepayLandHistory> getReviewRltRepayLandsHistory() {
        return reviewRltRepayLandsHistory;
    }

    public void setReviewRltRepayLandsHistory(List<ReviewRltRepayLandHistory> reviewRltRepayLandsHistory) {
        this.reviewRltRepayLandsHistory = reviewRltRepayLandsHistory;
    }

    public List<ReviewRltRepayVehicleHistory> getReviewRltRepayVehiclesHistory() {
        return reviewRltRepayVehiclesHistory;
    }

    public void setReviewRltRepayVehiclesHistory(List<ReviewRltRepayVehicleHistory> reviewRltRepayVehiclesHistory) {
        this.reviewRltRepayVehiclesHistory = reviewRltRepayVehiclesHistory;
    }

    public List<ReviewRltRepayEquityAssetsHistory> getReviewRltRepayEquityAssetsHistory() {
        return reviewRltRepayEquityAssetsHistory;
    }

    public void setReviewRltRepayEquityAssetsHistory(List<ReviewRltRepayEquityAssetsHistory> reviewRltRepayEquityAssetsHistory) {
        this.reviewRltRepayEquityAssetsHistory = reviewRltRepayEquityAssetsHistory;
    }

    public List<ReviewRltRepayOtherAssetsHistory> getReviewRltRepayOtherAssetsHistory() {
        return reviewRltRepayOtherAssetsHistory;
    }

    public void setReviewRltRepayOtherAssetsHistory(List<ReviewRltRepayOtherAssetsHistory> reviewRltRepayOtherAssetsHistory) {
        this.reviewRltRepayOtherAssetsHistory = reviewRltRepayOtherAssetsHistory;
    }
}
