package com.bonus.canteen.core.pay.channel.abc.entity.dto;

import java.util.Map;

public class AbcMerchantAddOrUpdateDTO {
   private Long tenantId;
   private Long canteenId;
   private String abcMerchantId;
   private String abcMerchantCertFile;
   private String abcMerchantCertPwd;
   private String abcMerchantName;
   private String abcMerchantZhstUrl;
   private String abcEpayCode;
   private String abcUnitId;
   private String abcUnitKey;
   private String abcCreditCardMerchantId;
   private String abcCreditCardMerchantCertFile;
   private String abcCreditCardMerchantCertPwd;
   private String abcCreditCardEpayCode;
   private String ifAbcMacCreatePayCode;

   public AbcMerchantAddOrUpdateDTO(Long tenantId, Long canteenId) {
      this.tenantId = tenantId;
      this.canteenId = canteenId;
   }

   public void dataHandler(Map<String, String> metadataMap) {
      metadataMap.forEach((metadataKey, metadataValue) -> {
         switch (metadataKey) {
            case "abcMerchantId":
               this.abcMerchantId = metadataValue;
               break;
            case "abcMerchantCertFile":
               this.abcMerchantCertFile = metadataValue;
               break;
            case "abcMerchantCertPwd":
               this.abcMerchantCertPwd = metadataValue;
               break;
            case "abcMerchantName":
               this.abcMerchantName = metadataValue;
               break;
            case "abcMerchantZhstUrl":
               this.abcMerchantZhstUrl = metadataValue;
               break;
            case "abcEpayCode":
               this.abcEpayCode = metadataValue;
               break;
            case "abcUnitId":
               this.abcUnitId = metadataValue;
               break;
            case "abcUnitKey":
               this.abcUnitKey = metadataValue;
               break;
            case "abcCreditCardMerchantId":
               this.abcCreditCardMerchantId = metadataValue;
               break;
            case "abcCreditCardMerchantCertFile":
               this.abcCreditCardMerchantCertFile = metadataValue;
               break;
            case "abcCreditCardMerchantCertPwd":
               this.abcCreditCardMerchantCertPwd = metadataValue;
               break;
            case "abcCreditCardEpayCode":
               this.abcCreditCardEpayCode = metadataValue;
               break;
            case "ifAbcMacCreatePayCode":
               this.ifAbcMacCreatePayCode = metadataValue;
         }

      });
   }

   public Long getTenantId() {
      return this.tenantId;
   }

   public Long getCanteenId() {
      return this.canteenId;
   }

   public String getAbcMerchantId() {
      return this.abcMerchantId;
   }

   public String getAbcMerchantCertFile() {
      return this.abcMerchantCertFile;
   }

   public String getAbcMerchantCertPwd() {
      return this.abcMerchantCertPwd;
   }

   public String getAbcMerchantName() {
      return this.abcMerchantName;
   }

   public String getAbcMerchantZhstUrl() {
      return this.abcMerchantZhstUrl;
   }

   public String getAbcEpayCode() {
      return this.abcEpayCode;
   }

   public String getAbcUnitId() {
      return this.abcUnitId;
   }

   public String getAbcUnitKey() {
      return this.abcUnitKey;
   }

   public String getAbcCreditCardMerchantId() {
      return this.abcCreditCardMerchantId;
   }

   public String getAbcCreditCardMerchantCertFile() {
      return this.abcCreditCardMerchantCertFile;
   }

   public String getAbcCreditCardMerchantCertPwd() {
      return this.abcCreditCardMerchantCertPwd;
   }

   public String getAbcCreditCardEpayCode() {
      return this.abcCreditCardEpayCode;
   }

   public String getIfAbcMacCreatePayCode() {
      return this.ifAbcMacCreatePayCode;
   }

   public void setTenantId(final Long tenantId) {
      this.tenantId = tenantId;
   }

   public void setCanteenId(final Long canteenId) {
      this.canteenId = canteenId;
   }

   public void setAbcMerchantId(final String abcMerchantId) {
      this.abcMerchantId = abcMerchantId;
   }

   public void setAbcMerchantCertFile(final String abcMerchantCertFile) {
      this.abcMerchantCertFile = abcMerchantCertFile;
   }

   public void setAbcMerchantCertPwd(final String abcMerchantCertPwd) {
      this.abcMerchantCertPwd = abcMerchantCertPwd;
   }

   public void setAbcMerchantName(final String abcMerchantName) {
      this.abcMerchantName = abcMerchantName;
   }

   public void setAbcMerchantZhstUrl(final String abcMerchantZhstUrl) {
      this.abcMerchantZhstUrl = abcMerchantZhstUrl;
   }

   public void setAbcEpayCode(final String abcEpayCode) {
      this.abcEpayCode = abcEpayCode;
   }

   public void setAbcUnitId(final String abcUnitId) {
      this.abcUnitId = abcUnitId;
   }

   public void setAbcUnitKey(final String abcUnitKey) {
      this.abcUnitKey = abcUnitKey;
   }

   public void setAbcCreditCardMerchantId(final String abcCreditCardMerchantId) {
      this.abcCreditCardMerchantId = abcCreditCardMerchantId;
   }

   public void setAbcCreditCardMerchantCertFile(final String abcCreditCardMerchantCertFile) {
      this.abcCreditCardMerchantCertFile = abcCreditCardMerchantCertFile;
   }

   public void setAbcCreditCardMerchantCertPwd(final String abcCreditCardMerchantCertPwd) {
      this.abcCreditCardMerchantCertPwd = abcCreditCardMerchantCertPwd;
   }

   public void setAbcCreditCardEpayCode(final String abcCreditCardEpayCode) {
      this.abcCreditCardEpayCode = abcCreditCardEpayCode;
   }

   public void setIfAbcMacCreatePayCode(final String ifAbcMacCreatePayCode) {
      this.ifAbcMacCreatePayCode = ifAbcMacCreatePayCode;
   }

   public AbcMerchantAddOrUpdateDTO() {
   }
}
