package com.bonus.core.pay.common.vo;


import com.bonus.core.pay.common.constants.PayChannelEnum;

import java.math.BigDecimal;

public class MobilePayVO {
   private Integer code;
   private String msg;
   private Long tradeId;
   private String outTradeNo;
   private BigDecimal amount;
   private BigDecimal realAmount;
   private Long custId;
   private Integer payType;
   private Integer payChannel;
   private String payParamStr;
   private BigDecimal accPayAmount;
   private BigDecimal outPayAmount;
   private BigDecimal walletBal;
   private BigDecimal subsidyBal;
   private BigDecimal accBal;
   private BigDecimal redEnvelope;
   private BigDecimal unpaidBalance;
   private Long accTradeId;

   public BigDecimal getAccPayAmount() {
      if (this.accPayAmount != null) {
         return this.accPayAmount;
      } else if (PayChannelEnum.ACC.getKey().equals(this.payChannel)) {
         return this.realAmount != null ? this.realAmount : BigDecimal.ZERO;
      } else {
         return BigDecimal.ZERO;
      }
   }

   public BigDecimal getOutPayAmount() {
      if (this.outPayAmount != null) {
         return this.outPayAmount;
      } else if (!PayChannelEnum.ACC.getKey().equals(this.payChannel)) {
         return this.realAmount != null ? this.realAmount : BigDecimal.ZERO;
      } else {
         return BigDecimal.ZERO;
      }
   }

   public Integer getCode() {
      return this.code;
   }

   public String getMsg() {
      return this.msg;
   }

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

   public String getOutTradeNo() {
      return this.outTradeNo;
   }

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

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

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

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

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

   public String getPayParamStr() {
      return this.payParamStr;
   }

   public BigDecimal getWalletBal() {
      return this.walletBal;
   }

   public BigDecimal getSubsidyBal() {
      return this.subsidyBal;
   }

   public BigDecimal getAccBal() {
      return this.accBal;
   }

   public BigDecimal getRedEnvelope() {
      return this.redEnvelope;
   }

   public BigDecimal getUnpaidBalance() {
      return this.unpaidBalance;
   }

   public Long getAccTradeId() {
      return this.accTradeId;
   }

   public void setCode(final Integer code) {
      this.code = code;
   }

   public void setMsg(final String msg) {
      this.msg = msg;
   }

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

   public void setOutTradeNo(final String outTradeNo) {
      this.outTradeNo = outTradeNo;
   }

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

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

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

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

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

   public void setPayParamStr(final String payParamStr) {
      this.payParamStr = payParamStr;
   }

   public void setAccPayAmount(final BigDecimal accPayAmount) {
      this.accPayAmount = accPayAmount;
   }

   public void setOutPayAmount(final BigDecimal outPayAmount) {
      this.outPayAmount = outPayAmount;
   }

   public void setWalletBal(final BigDecimal walletBal) {
      this.walletBal = walletBal;
   }

   public void setSubsidyBal(final BigDecimal subsidyBal) {
      this.subsidyBal = subsidyBal;
   }

   public void setAccBal(final BigDecimal accBal) {
      this.accBal = accBal;
   }

   public void setRedEnvelope(final BigDecimal redEnvelope) {
      this.redEnvelope = redEnvelope;
   }

   public void setUnpaidBalance(final BigDecimal unpaidBalance) {
      this.unpaidBalance = unpaidBalance;
   }

   public void setAccTradeId(final Long accTradeId) {
      this.accTradeId = accTradeId;
   }

}
