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

import com.bonus.core.pay.common.constants.PayChannelEnum;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

public class AndroidPayVO {
   private Integer code;
   private String msg;
   private Long tradeId;
   private Long tradeChannelId;
   private String outTradeNo;
   private BigDecimal amount;
   private Integer payType;
   private Integer payChannel;
   private Long custId;
   private String custName;
   private String orgFullName;
   private BigDecimal realAmount;
   private BigDecimal redEnvelopeReduce;
   private BigDecimal subsidyReduce;
   private BigDecimal personalPay;
   private BigDecimal walletBal;
   private BigDecimal subsidyBal;
   private BigDecimal redEnvelope;
   private BigDecimal accBal;
   private BigDecimal unpaidBalance;
   private Long orderId;
   @ApiModelProperty("二维码信息")
   private String qrCodeUrl;
   private BigDecimal accPayAmount;
   private BigDecimal outPayAmount;

   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 Long getTradeChannelId() {
      return this.tradeChannelId;
   }

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

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

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

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

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

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

   public String getOrgFullName() {
      return this.orgFullName;
   }

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

   public BigDecimal getRedEnvelopeReduce() {
      return this.redEnvelopeReduce;
   }

   public BigDecimal getSubsidyReduce() {
      return this.subsidyReduce;
   }

   public BigDecimal getPersonalPay() {
      return this.personalPay;
   }

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

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

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

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

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

   public Long getOrderId() {
      return this.orderId;
   }

   public String getQrCodeUrl() {
      return this.qrCodeUrl;
   }

   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 setTradeChannelId(final Long tradeChannelId) {
      this.tradeChannelId = tradeChannelId;
   }

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

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

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

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

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

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

   public void setOrgFullName(final String orgFullName) {
      this.orgFullName = orgFullName;
   }

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

   public void setRedEnvelopeReduce(final BigDecimal redEnvelopeReduce) {
      this.redEnvelopeReduce = redEnvelopeReduce;
   }

   public void setSubsidyReduce(final BigDecimal subsidyReduce) {
      this.subsidyReduce = subsidyReduce;
   }

   public void setPersonalPay(final BigDecimal personalPay) {
      this.personalPay = personalPay;
   }

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

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

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

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

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

   public void setOrderId(final Long orderId) {
      this.orderId = orderId;
   }

   public void setQrCodeUrl(final String qrCodeUrl) {
      this.qrCodeUrl = qrCodeUrl;
   }

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

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

}
