package com.sunxung.factoring.entity.supplier;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.FileStorage;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 企业主要人员征信情况
 * </p>
 *
 * @author liutao
 * @since 2023-12-04
 */
@TableName("credit_situation")
public class CreditSituation extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * c端 供应商企业信息id
     */
    @TableField("c_supplier_info_id")
    private Long cSupplierInfoId;

    /**
     * c端 征信相关情况 企业负责人
     */
    @TableField("c_credit_investigation_info_history_id")
    private Long cCreditInvestigationInfoHistoryId;

    /**
     * 近两年发生过逾期的账户数
     */
    @TableField("number_of_overdue_accounts")
    private Long numberOfOverdueAccounts;

    /**
     * 近两年发生过逾期的合计金额
     */
    @TableField("total_overdue_amount")
    private BigDecimal totalOverdueAmount;

    /**
     * 账户是否发生过90天以上逾期 0否 1是
     */
    @TableField("overdue")
    private Integer overdue;

    /**
     * 近两年贷款、信用卡连续逾期的月数
     */
    @TableField("consecutive_overdue_month")
    private Long consecutiveOverdueMonth;

    /**
     * 近两年逾期还款记录累计次数
     */
    @TableField("accumulated_overdue_times")
    private Long accumulatedOverdueTimes;

    /**
     * 近半年来贷款审批查询次数
     */
    @TableField("number_of_approval_queries")
    private Long numberOfApprovalQueries;

    /**
     * 相关还款担保责任金额（为非授信主体的担保）
     */
    @TableField("amount_of_guarantee_liability")
    private BigDecimal amountOfGuaranteeLiability;

    /**
     * 关注类和不良类贷款记录 0无 1有
     */
    @TableField("bad_records")
    private Integer badRecords;
    /**
     * 征信报告id
     */
    @TableField("file_id")
    private Long fileId;

    /**
     * 近两年发生过逾期的账户数得分
     */
    @TableField("number_of_overdue_accounts_score")
    private BigDecimal numberOfOverdueAccountsScore;

    /**
     * 账户是否发生过90天以上逾期得分
     */
    @TableField("overdue_score")
    private BigDecimal overdueScore;

    /**
     * 近两年贷款、信用卡连续逾期的月数得分
     */
    @TableField("consecutive_overdue_month_score")
    private BigDecimal consecutiveOverdueMonthScore;

    /**
     * 近半年来贷款审批查询次数得分
     */
    @TableField("number_of_approval_queries_score")
    private BigDecimal numberOfApprovalQueriesScore;

    /**
     * 相关还款担保责任金额（为非授信主体的担保）得分
     */
    @TableField("amount_of_guarantee_liability_score")
    private BigDecimal amountOfGuaranteeLiabilityScore;

    /**
     * 关注类和不良类贷款记录得分
     */
    @TableField("bad_records_score")
    private BigDecimal badRecordsScore;


    /**
     * 失信被执行记录 0无 1有
     */
    @TableField("record_of_dishonesty_execution")
    private Integer recordOfDishonestyExecution;

    /**
     * 被执行记录 0无 1有
     */
    @TableField("executed_record")
    private Integer executedRecord;

    /**
     * 限高消费情况（个人） 0无 1有
     */
    @TableField("ST_count")
    private Integer stCount;

    /**
     * 失信被执行记录得分
     */
    @TableField("shi_xin_score")
    private BigDecimal shiXinScore;

    /**
     * 被执行记录得分
     */
    @TableField("zhi_xing_score")
    private BigDecimal zhiXingScore;

    /**
     * 限高消费情况（个人）得分
     */
    @TableField("ST_count_score")
    private BigDecimal stCountScore;

    @TableField(exist = false)
    public CCreditInvestigationInfoHistory creditInvestigationInfoHistory;

    /**
     * 问题
     */
    @TableField(exist = false)
    private String question;

    /**
     * 征信报告
     */
    @TableField(exist = false)
    private List<FileStorage> creditDetailFiles;

    /**
     * 近两年发生过逾期的账户数
     */
    @TableField(exist = false)
    private Long overdueAccounts;

    /**
     * 近两年发生过逾期的合计金额
     */
    @TableField(exist = false)
    private BigDecimal totalOverdueAmountFix;

    /**
     * 账户是否发生过90天以上逾期 0否 1是
     */
    @TableField(exist = false)
    private Integer over90DaysOverdue;

    /**
     * 近两年贷款、信用卡连续逾期的月数
     */
    @TableField(exist = false)
    private Long overdueMonths;

    /**
     * 近两年逾期还款记录累计次数
     */
    @TableField(exist = false)
    private Long numberOfOverdueRepayments;

    /**
     * 近半年来贷款审批查询次数
     */
    @TableField(exist = false)
    private Long numberOfLoanInquiries;

    /**
     * 相关还款担保责任金额（为非授信主体的担保
     */
    @TableField(exist = false)
    private BigDecimal repaymentGuaranteeAmount;

    /**
     * 关注类和不良类贷款记录 0无 1有
     */
    @TableField(exist = false)
    private Integer badRecordsFix;

    /**
     * 失信被执行记录 0无 1有
     */
    @TableField(exist = false)
    private Integer recordOfDishonestyExecutionFix;

    /**
     * 被执行记录 0无 1有
     */
    @TableField(exist = false)
    private Integer executedRecordFix;

    /**
     * 限高消费情况（个人） 0无 1有
     */
    @TableField(exist = false)
    private Integer stCountFix;

    public Long getOverdueAccounts() {
        return overdueAccounts;
    }

    public void setOverdueAccounts(Long overdueAccounts) {
        this.overdueAccounts = overdueAccounts;
    }

    public BigDecimal getTotalOverdueAmountFix() {
        return totalOverdueAmountFix;
    }

    public void setTotalOverdueAmountFix(BigDecimal totalOverdueAmountFix) {
        this.totalOverdueAmountFix = totalOverdueAmountFix;
    }

    public Integer getOver90DaysOverdue() {
        return over90DaysOverdue;
    }

    public void setOver90DaysOverdue(Integer over90DaysOverdue) {
        this.over90DaysOverdue = over90DaysOverdue;
    }

    public Long getOverdueMonths() {
        return overdueMonths;
    }

    public void setOverdueMonths(Long overdueMonths) {
        this.overdueMonths = overdueMonths;
    }

    public Long getNumberOfOverdueRepayments() {
        return numberOfOverdueRepayments;
    }

    public void setNumberOfOverdueRepayments(Long numberOfOverdueRepayments) {
        this.numberOfOverdueRepayments = numberOfOverdueRepayments;
    }

    public Long getNumberOfLoanInquiries() {
        return numberOfLoanInquiries;
    }

    public void setNumberOfLoanInquiries(Long numberOfLoanInquiries) {
        this.numberOfLoanInquiries = numberOfLoanInquiries;
    }

    public BigDecimal getRepaymentGuaranteeAmount() {
        return repaymentGuaranteeAmount;
    }

    public void setRepaymentGuaranteeAmount(BigDecimal repaymentGuaranteeAmount) {
        this.repaymentGuaranteeAmount = repaymentGuaranteeAmount;
    }

    public Integer getBadRecordsFix() {
        return badRecordsFix;
    }

    public void setBadRecordsFix(Integer badRecordsFix) {
        this.badRecordsFix = badRecordsFix;
    }

    public Integer getRecordOfDishonestyExecutionFix() {
        return recordOfDishonestyExecutionFix;
    }

    public void setRecordOfDishonestyExecutionFix(Integer recordOfDishonestyExecutionFix) {
        this.recordOfDishonestyExecutionFix = recordOfDishonestyExecutionFix;
    }

    public Integer getExecutedRecordFix() {
        return executedRecordFix;
    }

    public void setExecutedRecordFix(Integer executedRecordFix) {
        this.executedRecordFix = executedRecordFix;
    }

    public Integer getStCountFix() {
        return stCountFix;
    }

    public void setStCountFix(Integer stCountFix) {
        this.stCountFix = stCountFix;
    }

    public List<FileStorage> getCreditDetailFiles() {
        return creditDetailFiles;
    }

    public void setCreditDetailFiles(List<FileStorage> creditDetailFiles) {
        this.creditDetailFiles = creditDetailFiles;
    }

    public String getQuestion() {
        return question;
    }

    public void setQuestion(String question) {
        this.question = question;
    }

    public Integer getRecordOfDishonestyExecution() {
        return recordOfDishonestyExecution;
    }

    public void setRecordOfDishonestyExecution(Integer recordOfDishonestyExecution) {
        this.recordOfDishonestyExecution = recordOfDishonestyExecution;
    }

    public Integer getExecutedRecord() {
        return executedRecord;
    }

    public void setExecutedRecord(Integer executedRecord) {
        this.executedRecord = executedRecord;
    }

    public Integer getStCount() {
        return stCount;
    }

    public void setStCount(Integer stCount) {
        this.stCount = stCount;
    }

    public BigDecimal getNumberOfOverdueAccountsScore() {
        return numberOfOverdueAccountsScore;
    }

    public void setNumberOfOverdueAccountsScore(BigDecimal numberOfOverdueAccountsScore) {
        this.numberOfOverdueAccountsScore = numberOfOverdueAccountsScore;
    }

    public BigDecimal getOverdueScore() {
        return overdueScore;
    }

    public void setOverdueScore(BigDecimal overdueScore) {
        this.overdueScore = overdueScore;
    }

    public BigDecimal getConsecutiveOverdueMonthScore() {
        return consecutiveOverdueMonthScore;
    }

    public void setConsecutiveOverdueMonthScore(BigDecimal consecutiveOverdueMonthScore) {
        this.consecutiveOverdueMonthScore = consecutiveOverdueMonthScore;
    }

    public BigDecimal getNumberOfApprovalQueriesScore() {
        return numberOfApprovalQueriesScore;
    }

    public void setNumberOfApprovalQueriesScore(BigDecimal numberOfApprovalQueriesScore) {
        this.numberOfApprovalQueriesScore = numberOfApprovalQueriesScore;
    }

    public BigDecimal getAmountOfGuaranteeLiabilityScore() {
        return amountOfGuaranteeLiabilityScore;
    }

    public void setAmountOfGuaranteeLiabilityScore(BigDecimal amountOfGuaranteeLiabilityScore) {
        this.amountOfGuaranteeLiabilityScore = amountOfGuaranteeLiabilityScore;
    }

    public BigDecimal getBadRecordsScore() {
        return badRecordsScore;
    }

    public void setBadRecordsScore(BigDecimal badRecordsScore) {
        this.badRecordsScore = badRecordsScore;
    }

    public BigDecimal getShiXinScore() {
        return shiXinScore;
    }

    public void setShiXinScore(BigDecimal shiXinScore) {
        this.shiXinScore = shiXinScore;
    }

    public BigDecimal getZhiXingScore() {
        return zhiXingScore;
    }

    public void setZhiXingScore(BigDecimal zhiXingScore) {
        this.zhiXingScore = zhiXingScore;
    }

    public BigDecimal getStCountScore() {
        return stCountScore;
    }

    public void setStCountScore(BigDecimal stCountScore) {
        this.stCountScore = stCountScore;
    }

    public void setBadRecords(Integer badRecords) {
        this.badRecords = badRecords;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public CCreditInvestigationInfoHistory getCreditInvestigationInfoHistory() {
        return creditInvestigationInfoHistory;
    }

    public void setCreditInvestigationInfoHistory(CCreditInvestigationInfoHistory creditInvestigationInfoHistory) {
        this.creditInvestigationInfoHistory = creditInvestigationInfoHistory;
    }

    public Long getcSupplierInfoId() {
        return cSupplierInfoId;
    }

    public void setcSupplierInfoId(Long cSupplierInfoId) {
        this.cSupplierInfoId = cSupplierInfoId;
    }

    public Long getcCreditInvestigationInfoHistoryId() {
        return cCreditInvestigationInfoHistoryId;
    }

    public void setcCreditInvestigationInfoHistoryId(Long cCreditInvestigationInfoHistoryId) {
        this.cCreditInvestigationInfoHistoryId = cCreditInvestigationInfoHistoryId;
    }

    public Long getNumberOfOverdueAccounts() {
        return numberOfOverdueAccounts;
    }

    public void setNumberOfOverdueAccounts(Long numberOfOverdueAccounts) {
        this.numberOfOverdueAccounts = numberOfOverdueAccounts;
    }
    public BigDecimal getTotalOverdueAmount() {
        return totalOverdueAmount;
    }

    public void setTotalOverdueAmount(BigDecimal totalOverdueAmount) {
        this.totalOverdueAmount = totalOverdueAmount;
    }
    public Integer getOverdue() {
        return overdue;
    }

    public void setOverdue(Integer overdue) {
        this.overdue = overdue;
    }
    public Long getConsecutiveOverdueMonth() {
        return consecutiveOverdueMonth;
    }

    public void setConsecutiveOverdueMonth(Long consecutiveOverdueMonth) {
        this.consecutiveOverdueMonth = consecutiveOverdueMonth;
    }
    public Long getAccumulatedOverdueTimes() {
        return accumulatedOverdueTimes;
    }

    public void setAccumulatedOverdueTimes(Long accumulatedOverdueTimes) {
        this.accumulatedOverdueTimes = accumulatedOverdueTimes;
    }
    public Long getNumberOfApprovalQueries() {
        return numberOfApprovalQueries;
    }

    public void setNumberOfApprovalQueries(Long numberOfApprovalQueries) {
        this.numberOfApprovalQueries = numberOfApprovalQueries;
    }
    public BigDecimal getAmountOfGuaranteeLiability() {
        return amountOfGuaranteeLiability;
    }

    public void setAmountOfGuaranteeLiability(BigDecimal amountOfGuaranteeLiability) {
        this.amountOfGuaranteeLiability = amountOfGuaranteeLiability;
    }
    public Integer getBadRecords() {
        return badRecords;
    }

}
