package cn.quant.baa.pay.acquirer;

import cn.quant.baa.pay.dict.AccessCode;
import cn.quant.baa.pay.dict.AccessType;
import cn.quant.baa.pay.dict.PayChanType;

import javax.persistence.Column;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * Created by Administrator on 2021/8/22 0022.
 */
public class AcquirerProperties implements Serializable{

    private static final long serialVersionUID = -9197591972747983682L;

    private Long mchChanId;

    //Account
    private String payChanCode;

    private String payAcctId;

    private PayChanType payChanType;

    private String domain;

    private String name;

    private String secretKey;

    private String secretType;

    private String signType;

    private String privateKey;

    private String payPublicKey;

    private String payCertNo;

    private String payCertKey;

    private String payRootCertNo;

    private String payRootCertKey;

    //feature
    private AccessCode accessCode;
    private AccessType accessType;
    private String accessMethod;
    private String version;
    private String payAccess;
    private String refundAccess;
    private String checkAccess;
    private String descText;
    private String productCode;

    //APP
    private String institutionId;

    private String productId;

    private String payAppId;

    private String payAppName;

    private String securityKey;

    private LocalDate startDate;

    private LocalDate endDate;

    private Boolean activatedFlag;

    public Long getMchChanId() {
        return mchChanId;
    }

    public void setMchChanId(Long mchChanId) {
        this.mchChanId = mchChanId;
    }

    public String getPayChanCode() {
        return payChanCode;
    }

    public void setPayChanCode(String payChanCode) {
        this.payChanCode = payChanCode;
    }

    public String getPayAcctId() {
        return payAcctId;
    }

    public void setPayAcctId(String payAcctId) {
        this.payAcctId = payAcctId;
    }

    public PayChanType getPayChanType() {
        return payChanType;
    }

    public void setPayChanType(PayChanType payChanType) {
        this.payChanType = payChanType;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPayRootCertNo() {
        return payRootCertNo;
    }

    public void setPayRootCertNo(String payRootCertNo) {
        this.payRootCertNo = payRootCertNo;
    }

    public String getPayRootCertKey() {
        return payRootCertKey;
    }

    public void setPayRootCertKey(String payRootCertKey) {
        this.payRootCertKey = payRootCertKey;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getSecretKey() {
        return secretKey;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

    public String getSecretType() {
        return secretType;
    }

    public void setSecretType(String secretType) {
        this.secretType = secretType;
    }

    public String getSignType() {
        return signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getPrivateKey() {
        return privateKey;
    }

    public void setPrivateKey(String privateKey) {
        this.privateKey = privateKey;
    }

    public String getPayPublicKey() {
        return payPublicKey;
    }

    public void setPayPublicKey(String payPublicKey) {
        this.payPublicKey = payPublicKey;
    }

    public String getPayCertNo() {
        return payCertNo;
    }

    public void setPayCertNo(String payCertNo) {
        this.payCertNo = payCertNo;
    }

    public String getPayCertKey() {
        return payCertKey;
    }

    public void setPayCertKey(String payCertKey) {
        this.payCertKey = payCertKey;
    }

    public AccessCode getAccessCode() {
        return accessCode;
    }

    public void setAccessCode(AccessCode accessCode) {
        this.accessCode = accessCode;
    }

    public AccessType getAccessType() {
        return accessType;
    }

    public void setAccessType(AccessType accessType) {
        this.accessType = accessType;
    }

    public String getAccessMethod() {
        return accessMethod;
    }

    public void setAccessMethod(String accessMethod) {
        this.accessMethod = accessMethod;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getPayAccess() {
        return payAccess;
    }

    public void setPayAccess(String payAccess) {
        this.payAccess = payAccess;
    }

    public String getRefundAccess() {
        return refundAccess;
    }

    public void setRefundAccess(String refundAccess) {
        this.refundAccess = refundAccess;
    }

    public String getCheckAccess() {
        return checkAccess;
    }

    public void setCheckAccess(String checkAccess) {
        this.checkAccess = checkAccess;
    }

    public String getDescText() {
        return descText;
    }

    public void setDescText(String descText) {
        this.descText = descText;
    }

    public String getInstitutionId() {
        return institutionId;
    }

    public void setInstitutionId(String institutionId) {
        this.institutionId = institutionId;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getPayAppId() {
        return payAppId;
    }

    public void setPayAppId(String payAppId) {
        this.payAppId = payAppId;
    }

    public String getPayAppName() {
        return payAppName;
    }

    public void setPayAppName(String payAppName) {
        this.payAppName = payAppName;
    }

    public String getSecurityKey() {
        return securityKey;
    }

    public void setSecurityKey(String securityKey) {
        this.securityKey = securityKey;
    }

    public LocalDate getStartDate() {
        return startDate;
    }

    public void setStartDate(LocalDate startDate) {
        this.startDate = startDate;
    }

    public LocalDate getEndDate() {
        return endDate;
    }

    public void setEndDate(LocalDate endDate) {
        this.endDate = endDate;
    }

    public Boolean getActivatedFlag() {
        return activatedFlag;
    }

    public void setActivatedFlag(Boolean activatedFlag) {
        this.activatedFlag = activatedFlag;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("AcquirerProperties{");
        sb.append("mchChanId=").append(mchChanId);
        sb.append(", payChanCode='").append(payChanCode).append('\'');
        sb.append(", payAcctId='").append(payAcctId).append('\'');
        sb.append(", payChanType=").append(payChanType);
        sb.append(", domain='").append(domain).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", secretType='").append(secretType).append('\'');
        sb.append(", signType='").append(signType).append('\'');
        sb.append(", payCertNo='").append(payCertNo).append('\'');
        sb.append(", payRootCertNo='").append(payRootCertNo).append('\'');
        sb.append(", accessCode=").append(accessCode);
        sb.append(", accessType=").append(accessType);
        sb.append(", accessMethod='").append(accessMethod).append('\'');
        sb.append(", version='").append(version).append('\'');
        sb.append(", payAccess='").append(payAccess).append('\'');
        sb.append(", refundAccess='").append(refundAccess).append('\'');
        sb.append(", checkAccess='").append(checkAccess).append('\'');
        sb.append(", descText='").append(descText).append('\'');
        sb.append(", institutionId='").append(institutionId).append('\'');
        sb.append(", productId='").append(productId).append('\'');
        sb.append(", payAppId='").append(payAppId).append('\'');
        sb.append(", payAppName='").append(payAppName).append('\'');
        sb.append(", securityKey='").append(securityKey).append('\'');
        sb.append(", startDate=").append(startDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", activatedFlag=").append(activatedFlag);
        sb.append('}');
        return sb.toString();
    }
}
