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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.project.Project;

import java.math.BigDecimal;

/**
 * <p>
 * 融资申请-基础信息表
 * </p>
 *
 * @author liutao
 * @since 2023-12-19
 */
@TableName("c_financing_basic_info")
public class CFinancingBasicInfo extends Project {

    private static final long serialVersionUID = 1L;

    /**
     * 业务编号
     */
    @TableField("business_number")
    private String businessNumber;

    /**
     * 用户Id
     */
    @TableField("sys_user_id")
    private Long sysUserId;

    /**
     * 供应商Id
     */
    @TableField("supplier_id")
    private Long mainEnterpriseId;

    /**
     * 核心企业Id
     */
    @TableField("enterprise_customer_info_id")
    private Long coreEnterpriseId;

    /**
     * 贸易平台Id
     */
    @TableField("trading_platform_id")
    private Long platformId;

    /**
     * 合同名称（采购）
     */
    @TableField("contract_name")
    private String purchContractName;

    /**
     * 合同编号（采购）
     */
    @TableField("contract_number")
    private String purchContractNumber;

    /**
     * 融资金额
     */
    @TableField("financing_amount")
    private BigDecimal financingAmount;

    /**
     * 融资状态: 处理中、放款执行中、还款中、已完成、已终止、已逾期
     */
    @TableField("financing_status")
    private String financingStatus;

    /**
     * 当前阶段
     */
    @TableField("current_stage")
    private String currentStage;

    /**
     * 当前客户对应的项目经理
     */
    @TableField(exist = false)
    private Long projectManagerId;

    /**
     * 当前客户对应的风控经理
     */
    @TableField(exist = false)
    private Long riskManagerId;

    /**
     * 融资历史信息Id
     */
    @TableField(exist = false)
    private Long financingHisInfoId;

    /**
     * 保理合同编号
     */
    @TableField(exist = false)
    private String contractNumber;

    /**
     * 额度支用批次号
     */
    @TableField(exist = false)
    private Integer quotaDisburseBatch;

    @Override
    public String getBusinessNumber() {
        return businessNumber;
    }

    @Override
    public void setBusinessNumber(String businessNumber) {
        this.businessNumber = businessNumber;
    }

    public Long getSysUserId() {
        return sysUserId;
    }

    public void setSysUserId(Long sysUserId) {
        this.sysUserId = sysUserId;
    }

    public Long getMainEnterpriseId() {
        return mainEnterpriseId;
    }

    public void setMainEnterpriseId(Long mainEnterpriseId) {
        this.mainEnterpriseId = mainEnterpriseId;
    }

    public Long getCoreEnterpriseId() {
        return coreEnterpriseId;
    }

    public void setCoreEnterpriseId(Long coreEnterpriseId) {
        this.coreEnterpriseId = coreEnterpriseId;
    }

    public Long getPlatformId() {
        return platformId;
    }

    public void setPlatformId(Long platformId) {
        this.platformId = platformId;
    }

    public String getPurchContractName() {
        return purchContractName;
    }

    public void setPurchContractName(String purchContractName) {
        this.purchContractName = purchContractName;
    }

    public String getPurchContractNumber() {
        return purchContractNumber;
    }

    public void setPurchContractNumber(String purchContractNumber) {
        this.purchContractNumber = purchContractNumber;
    }

    public BigDecimal getFinancingAmount() {
        return financingAmount;
    }

    public void setFinancingAmount(BigDecimal financingAmount) {
        this.financingAmount = financingAmount;
    }

    public String getFinancingStatus() {
        return financingStatus;
    }

    public void setFinancingStatus(String financingStatus) {
        this.financingStatus = financingStatus;
    }

    public String getCurrentStage() {
        return currentStage;
    }

    public void setCurrentStage(String currentStage) {
        this.currentStage = currentStage;
    }

    public Long getProjectManagerId() {
        return projectManagerId;
    }

    public void setProjectManagerId(Long projectManagerId) {
        this.projectManagerId = projectManagerId;
    }

    public Long getRiskManagerId() {
        return riskManagerId;
    }

    public void setRiskManagerId(Long riskManagerId) {
        this.riskManagerId = riskManagerId;
    }

    public Long getFinancingHisInfoId() {
        return financingHisInfoId;
    }

    public void setFinancingHisInfoId(Long financingHisInfoId) {
        this.financingHisInfoId = financingHisInfoId;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public Integer getQuotaDisburseBatch() {
        return quotaDisburseBatch;
    }

    public void setQuotaDisburseBatch(Integer quotaDisburseBatch) {
        this.quotaDisburseBatch = quotaDisburseBatch;
    }
}
