package com.bonus.core.account.v3.po;

import java.math.BigDecimal;
import java.time.LocalDateTime;

public class AccTradeWalletPO {
   private Long tradeId;
   private Long custId;
   private Integer walletId;
   private BigDecimal amount;
   private BigDecimal walletBal;
   private Integer tradeType;
   private BigDecimal frozenBalance;
   private LocalDateTime tradeTime;
   private LocalDateTime validateTime;

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

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

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

   public Integer getWalletId() {
      return this.walletId;
   }

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

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

   public Integer getTradeType() {
      return this.tradeType;
   }

   public BigDecimal getFrozenBalance() {
      return this.frozenBalance;
   }

   public LocalDateTime getTradeTime() {
      return this.tradeTime;
   }

   public LocalDateTime getValidateTime() {
      return this.validateTime;
   }

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

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

   public void setWalletId(final Integer walletId) {
      this.walletId = walletId;
   }

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

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

   public void setTradeType(final Integer tradeType) {
      this.tradeType = tradeType;
   }

   public void setFrozenBalance(final BigDecimal frozenBalance) {
      this.frozenBalance = frozenBalance;
   }

   public void setTradeTime(final LocalDateTime tradeTime) {
      this.tradeTime = tradeTime;
   }

   public void setValidateTime(final LocalDateTime validateTime) {
      this.validateTime = validateTime;
   }

   public AccTradeWalletPO(final Long tradeId, final Long custId, final Integer walletId, final BigDecimal amount, final BigDecimal walletBal, final Integer tradeType, final BigDecimal frozenBalance, final LocalDateTime tradeTime, final LocalDateTime validateTime) {
      this.tradeId = tradeId;
      this.custId = custId;
      this.walletId = walletId;
      this.amount = amount;
      this.walletBal = walletBal;
      this.tradeType = tradeType;
      this.frozenBalance = frozenBalance;
      this.tradeTime = tradeTime;
      this.validateTime = validateTime;
   }

   public AccTradeWalletPO() {
   }

   public static class AccTradeWalletPOBuilder {
      private Long tradeId;
      private Long custId;
      private Integer walletId;
      private BigDecimal amount;
      private BigDecimal walletBal;
      private Integer tradeType;
      private BigDecimal frozenBalance;
      private LocalDateTime tradeTime;
      private LocalDateTime validateTime;

      AccTradeWalletPOBuilder() {
      }

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

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

      public AccTradeWalletPOBuilder walletId(final Integer walletId) {
         this.walletId = walletId;
         return this;
      }

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

      public AccTradeWalletPOBuilder walletBal(final BigDecimal walletBal) {
         this.walletBal = walletBal;
         return this;
      }

      public AccTradeWalletPOBuilder tradeType(final Integer tradeType) {
         this.tradeType = tradeType;
         return this;
      }

      public AccTradeWalletPOBuilder frozenBalance(final BigDecimal frozenBalance) {
         this.frozenBalance = frozenBalance;
         return this;
      }

      public AccTradeWalletPOBuilder tradeTime(final LocalDateTime tradeTime) {
         this.tradeTime = tradeTime;
         return this;
      }

      public AccTradeWalletPOBuilder validateTime(final LocalDateTime validateTime) {
         this.validateTime = validateTime;
         return this;
      }

      public AccTradeWalletPO build() {
         return new AccTradeWalletPO(this.tradeId, this.custId, this.walletId, this.amount, this.walletBal, this.tradeType, this.frozenBalance, this.tradeTime, this.validateTime);
      }

      public String toString() {
         Long var10000 = this.tradeId;
         return "AccTradeWalletPO.AccTradeWalletPOBuilder(tradeId=" + var10000 + ", custId=" + this.custId + ", walletId=" + this.walletId + ", amount=" + String.valueOf(this.amount) + ", walletBal=" + String.valueOf(this.walletBal) + ", tradeType=" + this.tradeType + ", frozenBalance=" + String.valueOf(this.frozenBalance) + ", tradeTime=" + String.valueOf(this.tradeTime) + ", validateTime=" + String.valueOf(this.validateTime) + ")";
      }
   }
}
