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

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;

import java.util.Date;

/**
 * <p>
 * 合同电子签信息客户信息
 * </p>
 *
 * @author liutao
 * @since 2022-06-29
 */
@TableName("contract_electronic_customer_info")
public class ContractElectronicCustomerInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 合同电子签信息ID
     */
    @TableField("contract_electronic_info_id")
    private Long contractElectronicInfoId;

    /**
     * 客户名称
     */
    @TableField("customer_name")
    private String customerName;

    /**
     * 客户合同交易id
     */
    @TableField("transaction_id")
    private String transactionId;

    /**
     * 客户合同链接
     */
    @TableField("contract_link")
    private String contractLink;

    /**
     * 客户合同链接短连接
     */
    @TableField("short_contract_link")
    private String shortContractLink;

    /**
     * 短连接的生成日期
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @TableField("short_contract_link_create")
    private Date shortContractLinkCreate;

    /**
     * 客户签署状态
     */
    @TableField("sign_status")
    private Boolean signStatus;

    /**
     * 合同电子签企业信息管理表ID
     */
    @TableField("sys_customer_id")
    private Long sysCustomerId;

    /**
     * 签署关键字
     */
    @TableField("keyword")
    private String keyword;
    /**
     * 合同
     */
    @TableField("file_id")
    private Long fileId;

    /**
     * 出证文件
     */
    @TableField("report_file_id")
    private Long reportFileId;

    /**
     * 签署客户id
     */
    @TableField(exist = false)
    private String customerId;

    public ContractElectronicCustomerInfo() {
    }

    public ContractElectronicCustomerInfo(String keyword, String customerId) {
        this.keyword = keyword;
        this.customerId = customerId;
    }

    public Long getFileId() {
        return fileId;
    }

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

    public Long getReportFileId() {
        return reportFileId;
    }

    public void setReportFileId(Long reportFileId) {
        this.reportFileId = reportFileId;
    }

    public Long getSysCustomerId() {
        return sysCustomerId;
    }

    public void setSysCustomerId(Long sysCustomerId) {
        this.sysCustomerId = sysCustomerId;
    }

    public Long getContractElectronicInfoId() {
        return contractElectronicInfoId;
    }

    public void setContractElectronicInfoId(Long contractElectronicInfoId) {
        this.contractElectronicInfoId = contractElectronicInfoId;
    }

    public String getShortContractLink() {
        return shortContractLink;
    }

    public void setShortContractLink(String shortContractLink) {
        this.shortContractLink = shortContractLink;
    }

    public Date getShortContractLinkCreate() {
        return shortContractLinkCreate;
    }

    public void setShortContractLinkCreate(Date shortContractLinkCreate) {
        this.shortContractLinkCreate = shortContractLinkCreate;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }
    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }
    public String getContractLink() {
        return contractLink;
    }

    public void setContractLink(String contractLink) {
        this.contractLink = contractLink;
    }
    public Boolean getSignStatus() {
        return signStatus;
    }

    public void setSignStatus(Boolean signStatus) {
        this.signStatus = signStatus;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }


    @Override
    public String toString() {
        return "ContractElectronicCustomerInfo{" +
            "contractElectronicInfoId=" + contractElectronicInfoId +
            ", customerName=" + customerName +
            ", transactionId=" + transactionId +
            ", contractLink=" + contractLink +
            ", signStatus=" + signStatus +
        "}";
    }
}
