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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.financing.review.ReviewBasicContractChangeContent;

/**
 * <p>
 * 合同:基础交易合同信息（三方协议）变更内容
 * </p>
 *
 * @author liutao
 * @since 2024-01-23
 */
@TableName("contract_basic_contract_change_content")
public class ContractBasicContractChangeContent extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 合同基础信息ID
     */
    @TableField("contract_info_id")
    private Long contractInfoId;

    /**
     * 合同基础交易合同信息（三方协议）的ID
     */
    @TableField("contract_basic_contract_id")
    private Long contractBasicContractId;

    /**
     * 基础交易合同编号:获取的是所选应收账款中的合同编号
     */
    @TableField("contract_no")
    private String contractNo;

    /**
     * 基础交易合同名称:获取的是所选应收账款中的合同名称
     */
    @TableField("contract_name")
    private String contractName;

    /**
     * 原合同内容
     */
    @TableField("original_contract_content")
    private String originalContractContent;

    /**
     * 变更后内容
     */
    @TableField("post_change_content")
    private String postChangeContent;

    /**
     * 其他特殊约定-固定内容
     */
    @TableField("special_agreement_basic")
    private String specialAgreementBasic;

    public ContractBasicContractChangeContent() {
    }

    public ContractBasicContractChangeContent(ReviewBasicContractChangeContent reviewChangeContent) {
        this.contractNo = reviewChangeContent.getContractNo();
        this.contractName = reviewChangeContent.getContractName();
        this.originalContractContent = reviewChangeContent.getOriginalContractContent();
        this.postChangeContent = reviewChangeContent.getPostChangeContent();
        this.specialAgreementBasic = reviewChangeContent.getSpecialAgreementBasic();
    }

    public Long getContractInfoId() {
        return contractInfoId;
    }

    public void setContractInfoId(Long contractInfoId) {
        this.contractInfoId = contractInfoId;
    }

    public Long getContractBasicContractId() {
        return contractBasicContractId;
    }

    public void setContractBasicContractId(Long contractBasicContractId) {
        this.contractBasicContractId = contractBasicContractId;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public String getOriginalContractContent() {
        return originalContractContent;
    }

    public void setOriginalContractContent(String originalContractContent) {
        this.originalContractContent = originalContractContent;
    }

    public String getPostChangeContent() {
        return postChangeContent;
    }

    public void setPostChangeContent(String postChangeContent) {
        this.postChangeContent = postChangeContent;
    }

    public String getSpecialAgreementBasic() {
        return specialAgreementBasic;
    }

    public void setSpecialAgreementBasic(String specialAgreementBasic) {
        this.specialAgreementBasic = specialAgreementBasic;
    }

    @Override
    public String toString() {
        return "ContractBasicContractChangeContent{" +
                "contractInfoId=" + contractInfoId +
                ", contractBasicContractId=" + contractBasicContractId +
                ", contractNo='" + contractNo + '\'' +
                ", contractName='" + contractName + '\'' +
                ", originalContractContent='" + originalContractContent + '\'' +
                ", postChangeContent='" + postChangeContent + '\'' +
                ", specialAgreementBasic='" + specialAgreementBasic + '\'' +
                '}';
    }
}
