package com.bonus.canteen.core.order.deprecated.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.bonus.canteen.core.order.deprecated.model.OrdAppInfo;
import com.bonus.canteen.core.order.deprecated.model.OrdDetail;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

public class MacPayReceiptOrdDTO extends OrdAppInfo {
   private String serialNum;
   @ApiModelProperty("托盘物理号")
   private String plateSerialNum;
   private String authCode;
   private String terminalParams;
   private List<@Valid OrdDetail> ordDetailList;
   @JSONField(
      format = "yyyy-MM-dd HH:mm:ss"
   )
   private LocalDateTime macDate;
   private String custName;
   private String custThirdId;
   private String custNum;
   private Integer ifUseCallNum;
   private String payChannel;
   private String payTenantNum;
   private String payTerminalNum;
   private String payPriKey;
   @ApiModelProperty("会员总金额 单位分")
   private Integer memberAmount;
   private BigDecimal discount;
   private BigDecimal maxDiscountAmount;
   private String proSpecial;
   private String alterThirdPayUrl;
   private JsonNode extParam;

   public String getSerialNum() {
      return this.serialNum;
   }

   public String getPlateSerialNum() {
      return this.plateSerialNum;
   }

   public String getAuthCode() {
      return this.authCode;
   }

   public String getTerminalParams() {
      return this.terminalParams;
   }

   public List<@Valid OrdDetail> getOrdDetailList() {
      return this.ordDetailList;
   }

   public LocalDateTime getMacDate() {
      return this.macDate;
   }

   public String getCustName() {
      return this.custName;
   }

   public String getCustThirdId() {
      return this.custThirdId;
   }

   public String getCustNum() {
      return this.custNum;
   }

   public Integer getIfUseCallNum() {
      return this.ifUseCallNum;
   }

   public String getPayChannel() {
      return this.payChannel;
   }

   public String getPayTenantNum() {
      return this.payTenantNum;
   }

   public String getPayTerminalNum() {
      return this.payTerminalNum;
   }

   public String getPayPriKey() {
      return this.payPriKey;
   }

   public Integer getMemberAmount() {
      return this.memberAmount;
   }

   public BigDecimal getDiscount() {
      return this.discount;
   }

   public BigDecimal getMaxDiscountAmount() {
      return this.maxDiscountAmount;
   }

   public String getProSpecial() {
      return this.proSpecial;
   }

   public String getAlterThirdPayUrl() {
      return this.alterThirdPayUrl;
   }

   public JsonNode getExtParam() {
      return this.extParam;
   }

   public void setSerialNum(final String serialNum) {
      this.serialNum = serialNum;
   }

   public void setPlateSerialNum(final String plateSerialNum) {
      this.plateSerialNum = plateSerialNum;
   }

   public void setAuthCode(final String authCode) {
      this.authCode = authCode;
   }

   public void setTerminalParams(final String terminalParams) {
      this.terminalParams = terminalParams;
   }

   public void setOrdDetailList(final List<@Valid OrdDetail> ordDetailList) {
      this.ordDetailList = ordDetailList;
   }

   public void setMacDate(final LocalDateTime macDate) {
      this.macDate = macDate;
   }

   public void setCustName(final String custName) {
      this.custName = custName;
   }

   public void setCustThirdId(final String custThirdId) {
      this.custThirdId = custThirdId;
   }

   public void setCustNum(final String custNum) {
      this.custNum = custNum;
   }

   public void setIfUseCallNum(final Integer ifUseCallNum) {
      this.ifUseCallNum = ifUseCallNum;
   }

   public void setPayChannel(final String payChannel) {
      this.payChannel = payChannel;
   }

   public void setPayTenantNum(final String payTenantNum) {
      this.payTenantNum = payTenantNum;
   }

   public void setPayTerminalNum(final String payTerminalNum) {
      this.payTerminalNum = payTerminalNum;
   }

   public void setPayPriKey(final String payPriKey) {
      this.payPriKey = payPriKey;
   }

   public void setMemberAmount(final Integer memberAmount) {
      this.memberAmount = memberAmount;
   }

   public void setDiscount(final BigDecimal discount) {
      this.discount = discount;
   }

   public void setMaxDiscountAmount(final BigDecimal maxDiscountAmount) {
      this.maxDiscountAmount = maxDiscountAmount;
   }

   public void setProSpecial(final String proSpecial) {
      this.proSpecial = proSpecial;
   }

   public void setAlterThirdPayUrl(final String alterThirdPayUrl) {
      this.alterThirdPayUrl = alterThirdPayUrl;
   }

   public void setExtParam(final JsonNode extParam) {
      this.extParam = extParam;
   }

}
