package com.bonus.canteen.core.marketing.v2.rule.recharge.dto;

import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDate;

@ApiModel("充值规则入参")
public class RuleRechargeComputeDTO {
   @ApiModelProperty("账户交易id")
   private Long tradeId;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("支付渠道")
   private Integer payChannel;
   @ApiModelProperty("支付方式")
   private Integer payType;
   @ApiModelProperty("充值金额")
   private BigDecimal amount;
   @ApiModelProperty("充值日期")
   private LocalDate tradeDate;
   @ApiModelProperty("预留字段")
   private JsonNode extInfo;

   public Long getTradeId() {
      return this.tradeId;
   }

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

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

   public Integer getPayType() {
      return this.payType;
   }

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

   public LocalDate getTradeDate() {
      return this.tradeDate;
   }

   public JsonNode getExtInfo() {
      return this.extInfo;
   }

   public RuleRechargeComputeDTO setTradeId(final Long tradeId) {
      this.tradeId = tradeId;
      return this;
   }

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

   public RuleRechargeComputeDTO setPayChannel(final Integer payChannel) {
      this.payChannel = payChannel;
      return this;
   }

   public RuleRechargeComputeDTO setPayType(final Integer payType) {
      this.payType = payType;
      return this;
   }

   public RuleRechargeComputeDTO setAmount(final BigDecimal amount) {
      this.amount = amount;
      return this;
   }

   public RuleRechargeComputeDTO setTradeDate(final LocalDate tradeDate) {
      this.tradeDate = tradeDate;
      return this;
   }

   public RuleRechargeComputeDTO setExtInfo(final JsonNode extInfo) {
      this.extInfo = extInfo;
      return this;
   }

}
