package com.bonus.core.marketing.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/** @deprecated */
@Deprecated
@ApiModel("消费规则计算出入参")
public class MktTimeQuotaPayDTO implements Serializable {
   @ApiModelProperty("人员id")
   private @NotNull(
   message = "人员id不能为空"
) Long custId;
   @ApiModelProperty("设备sn码")
   private @NotBlank(
   message = "设备sn码不能为空"
) String machineSn;
   @ApiModelProperty("餐次id")
   private @NotNull(
   message = "餐次id不能为空"
) Long intervalId;
   @ApiModelProperty("订单总金额")
   private @NotNull(
   message = "请填写补扣金额"
) Integer amount;
   @ApiModelProperty("消费日期")
   private @NotNull(
   message = "请填写补扣日期"
) LocalDate consumeDate;
   @ApiModelProperty("人员类别")
   private Integer psnType;
   @ApiModelProperty("部门id")
   private Long orgId;
   @ApiModelProperty("档口id")
   private Long shopstallId;
   @ApiModelProperty("设备是否启用叫号")
   private Integer ifUseCallNum;
   @ApiModelProperty("食堂id")
   private Long canteenId;
   @ApiModelProperty("实付金额")
   private Integer realAmount;
   @ApiModelProperty("优惠金额")
   private Integer discountAmount;
   @ApiModelProperty("个人钱包实付金额")
   private Integer walletRealAmount;
   @ApiModelProperty("补贴钱包实付金额")
   private Integer subsidyRealAmount;
   @ApiModelProperty("补贴到账金额")
   private Integer subsidyArriveAmount;
   @ApiModelProperty("命中的消费规则")
   private List<Integer> ruleType;
   @ApiModelProperty("命中的消费规则描述")
   private List<String> ruleDesc;

   public static MktTimeQuotaPayDTOBuilder builder() {
      return new MktTimeQuotaPayDTOBuilder();
   }

   public Long getCustId() {
      return this.custId;
   }

   public String getMachineSn() {
      return this.machineSn;
   }

   public Long getIntervalId() {
      return this.intervalId;
   }

   public Integer getAmount() {
      return this.amount;
   }

   public LocalDate getConsumeDate() {
      return this.consumeDate;
   }

   public Integer getPsnType() {
      return this.psnType;
   }

   public Long getOrgId() {
      return this.orgId;
   }

   public Long getShopstallId() {
      return this.shopstallId;
   }

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

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

   public Integer getRealAmount() {
      return this.realAmount;
   }

   public Integer getDiscountAmount() {
      return this.discountAmount;
   }

   public Integer getWalletRealAmount() {
      return this.walletRealAmount;
   }

   public Integer getSubsidyRealAmount() {
      return this.subsidyRealAmount;
   }

   public Integer getSubsidyArriveAmount() {
      return this.subsidyArriveAmount;
   }

   public List<Integer> getRuleType() {
      return this.ruleType;
   }

   public List<String> getRuleDesc() {
      return this.ruleDesc;
   }

   public void setCustId(final Long custId) {
      this.custId = custId;
   }

   public void setMachineSn(final String machineSn) {
      this.machineSn = machineSn;
   }

   public void setIntervalId(final Long intervalId) {
      this.intervalId = intervalId;
   }

   public void setAmount(final Integer amount) {
      this.amount = amount;
   }

   public void setConsumeDate(final LocalDate consumeDate) {
      this.consumeDate = consumeDate;
   }

   public void setPsnType(final Integer psnType) {
      this.psnType = psnType;
   }

   public void setOrgId(final Long orgId) {
      this.orgId = orgId;
   }

   public void setShopstallId(final Long shopstallId) {
      this.shopstallId = shopstallId;
   }

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

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

   public void setRealAmount(final Integer realAmount) {
      this.realAmount = realAmount;
   }

   public void setDiscountAmount(final Integer discountAmount) {
      this.discountAmount = discountAmount;
   }

   public void setWalletRealAmount(final Integer walletRealAmount) {
      this.walletRealAmount = walletRealAmount;
   }

   public void setSubsidyRealAmount(final Integer subsidyRealAmount) {
      this.subsidyRealAmount = subsidyRealAmount;
   }

   public void setSubsidyArriveAmount(final Integer subsidyArriveAmount) {
      this.subsidyArriveAmount = subsidyArriveAmount;
   }

   public void setRuleType(final List<Integer> ruleType) {
      this.ruleType = ruleType;
   }

   public void setRuleDesc(final List<String> ruleDesc) {
      this.ruleDesc = ruleDesc;
   }


   public MktTimeQuotaPayDTO() {
   }

   public MktTimeQuotaPayDTO(final Long custId, final String machineSn, final Long intervalId, final Integer amount, final LocalDate consumeDate, final Integer psnType, final Long orgId, final Long shopstallId, final Integer ifUseCallNum, final Long canteenId, final Integer realAmount, final Integer discountAmount, final Integer walletRealAmount, final Integer subsidyRealAmount, final Integer subsidyArriveAmount, final List<Integer> ruleType, final List<String> ruleDesc) {
      this.custId = custId;
      this.machineSn = machineSn;
      this.intervalId = intervalId;
      this.amount = amount;
      this.consumeDate = consumeDate;
      this.psnType = psnType;
      this.orgId = orgId;
      this.shopstallId = shopstallId;
      this.ifUseCallNum = ifUseCallNum;
      this.canteenId = canteenId;
      this.realAmount = realAmount;
      this.discountAmount = discountAmount;
      this.walletRealAmount = walletRealAmount;
      this.subsidyRealAmount = subsidyRealAmount;
      this.subsidyArriveAmount = subsidyArriveAmount;
      this.ruleType = ruleType;
      this.ruleDesc = ruleDesc;
   }

   public static class MktTimeQuotaPayDTOBuilder {
      private Long custId;
      private String machineSn;
      private Long intervalId;
      private Integer amount;
      private LocalDate consumeDate;
      private Integer psnType;
      private Long orgId;
      private Long shopstallId;
      private Integer ifUseCallNum;
      private Long canteenId;
      private Integer realAmount;
      private Integer discountAmount;
      private Integer walletRealAmount;
      private Integer subsidyRealAmount;
      private Integer subsidyArriveAmount;
      private List<Integer> ruleType;
      private List<String> ruleDesc;

      MktTimeQuotaPayDTOBuilder() {
      }

      public MktTimeQuotaPayDTOBuilder custId(final Long custId) {
         this.custId = custId;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder machineSn(final String machineSn) {
         this.machineSn = machineSn;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder intervalId(final Long intervalId) {
         this.intervalId = intervalId;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder amount(final Integer amount) {
         this.amount = amount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder consumeDate(final LocalDate consumeDate) {
         this.consumeDate = consumeDate;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder psnType(final Integer psnType) {
         this.psnType = psnType;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder orgId(final Long orgId) {
         this.orgId = orgId;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder shopstallId(final Long shopstallId) {
         this.shopstallId = shopstallId;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder ifUseCallNum(final Integer ifUseCallNum) {
         this.ifUseCallNum = ifUseCallNum;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder canteenId(final Long canteenId) {
         this.canteenId = canteenId;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder realAmount(final Integer realAmount) {
         this.realAmount = realAmount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder discountAmount(final Integer discountAmount) {
         this.discountAmount = discountAmount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder walletRealAmount(final Integer walletRealAmount) {
         this.walletRealAmount = walletRealAmount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder subsidyRealAmount(final Integer subsidyRealAmount) {
         this.subsidyRealAmount = subsidyRealAmount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder subsidyArriveAmount(final Integer subsidyArriveAmount) {
         this.subsidyArriveAmount = subsidyArriveAmount;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder ruleType(final List<Integer> ruleType) {
         this.ruleType = ruleType;
         return this;
      }

      public MktTimeQuotaPayDTOBuilder ruleDesc(final List<String> ruleDesc) {
         this.ruleDesc = ruleDesc;
         return this;
      }

      public MktTimeQuotaPayDTO build() {
         return new MktTimeQuotaPayDTO(this.custId, this.machineSn, this.intervalId, this.amount, this.consumeDate, this.psnType, this.orgId, this.shopstallId, this.ifUseCallNum, this.canteenId, this.realAmount, this.discountAmount, this.walletRealAmount, this.subsidyRealAmount, this.subsidyArriveAmount, this.ruleType, this.ruleDesc);
      }

      public String toString() {
         Long var10000 = this.custId;
         return "MktTimeQuotaPayDTO.MktTimeQuotaPayDTOBuilder(custId=" + var10000 + ", machineSn=" + this.machineSn + ", intervalId=" + this.intervalId + ", amount=" + this.amount + ", consumeDate=" + String.valueOf(this.consumeDate) + ", psnType=" + this.psnType + ", orgId=" + this.orgId + ", shopstallId=" + this.shopstallId + ", ifUseCallNum=" + this.ifUseCallNum + ", canteenId=" + this.canteenId + ", realAmount=" + this.realAmount + ", discountAmount=" + this.discountAmount + ", walletRealAmount=" + this.walletRealAmount + ", subsidyRealAmount=" + this.subsidyRealAmount + ", subsidyArriveAmount=" + this.subsidyArriveAmount + ", ruleType=" + String.valueOf(this.ruleType) + ", ruleDesc=" + String.valueOf(this.ruleDesc) + ")";
      }
   }
}
