package com.bonus.canteen.core.account.v3.web.vo;


import com.bonus.canteen.core.account.v3.constants.AccStatusEnum;
import com.bonus.canteen.core.common.encrypt.LeNiuDecryptDataProcess;
import com.bonus.canteen.core.common.encrypt.LeNiuDecryptField;

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

@LeNiuDecryptDataProcess
public class AccInfoVO {
   private Long id;
   private Long custId;
   private Long accId;
   private String custThirdId;
   private String custNum;
   @LeNiuDecryptField
   private String custName;
   @LeNiuDecryptField
   private String mobile;
   private Long orgId;
   private String orgFullName;
   private Integer psnType;
   private String psnTypeName;
   private LocalDate endDate;
   private Integer accStatus;
   private BigDecimal accBalTotal;
   private BigDecimal accAllBal;
   private BigDecimal accFreezeBalTotal;
   private List<AccWalletInfoVO> walletInfoList;
   private String serialNum;
   private Integer deposit;
   private Integer productCost;

   public boolean isNormal() {
      return AccStatusEnum.NORMAL.getKey().equals(this.accStatus);
   }

   public Long getId() {
      return this.id;
   }

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

   public Long getAccId() {
      return this.accId;
   }

   public String getCustThirdId() {
      return this.custThirdId;
   }

   public String getCustNum() {
      return this.custNum;
   }

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

   public String getMobile() {
      return this.mobile;
   }

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

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

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

   public String getPsnTypeName() {
      return this.psnTypeName;
   }

   public LocalDate getEndDate() {
      return this.endDate;
   }

   public Integer getAccStatus() {
      return this.accStatus;
   }

   public BigDecimal getAccBalTotal() {
      return this.accBalTotal;
   }

   public BigDecimal getAccAllBal() {
      return this.accAllBal;
   }

   public BigDecimal getAccFreezeBalTotal() {
      return this.accFreezeBalTotal;
   }

   public List<AccWalletInfoVO> getWalletInfoList() {
      return this.walletInfoList;
   }

   public String getSerialNum() {
      return this.serialNum;
   }

   public Integer getDeposit() {
      return this.deposit;
   }

   public Integer getProductCost() {
      return this.productCost;
   }

   public void setId(final Long id) {
      this.id = id;
   }

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

   public void setAccId(final Long accId) {
      this.accId = accId;
   }

   public void setCustThirdId(final String custThirdId) {
      this.custThirdId = custThirdId;
   }

   public void setCustNum(final String custNum) {
      this.custNum = custNum;
   }

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

   public void setMobile(final String mobile) {
      this.mobile = mobile;
   }

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

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

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

   public void setPsnTypeName(final String psnTypeName) {
      this.psnTypeName = psnTypeName;
   }

   public void setEndDate(final LocalDate endDate) {
      this.endDate = endDate;
   }

   public void setAccStatus(final Integer accStatus) {
      this.accStatus = accStatus;
   }

   public void setAccBalTotal(final BigDecimal accBalTotal) {
      this.accBalTotal = accBalTotal;
   }

   public void setAccAllBal(final BigDecimal accAllBal) {
      this.accAllBal = accAllBal;
   }

   public void setAccFreezeBalTotal(final BigDecimal accFreezeBalTotal) {
      this.accFreezeBalTotal = accFreezeBalTotal;
   }

   public void setWalletInfoList(final List<AccWalletInfoVO> walletInfoList) {
      this.walletInfoList = walletInfoList;
   }

   public void setSerialNum(final String serialNum) {
      this.serialNum = serialNum;
   }

   public void setDeposit(final Integer deposit) {
      this.deposit = deposit;
   }

   public void setProductCost(final Integer productCost) {
      this.productCost = productCost;
   }
}
