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

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.bonus.core.account.v3.utils.AccUtils;
import com.bonus.core.pay.common.constants.PayStateEnum;

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

public class AccConsumeUpdateWalletPO {
   private Long custId;
   private Long orgId;
   private Integer psnType;
   private Integer payState;
   private Integer tradeType;
   private BigDecimal amount;
   private List<AccWalletPayPO> walletPayList;
   private Long orderTradeId;
   private String machineSn;
   private String remark;
   private String userName;
   private Long canteenId;
   private List<Integer> payWalletIdList;

   public String getUserName() {
      return StrUtil.isBlank(this.userName) ? AccUtils.getOperatorName() : this.userName;
   }

   public Integer getPayState() {
      return ObjectUtil.isNull(this.payState) ? PayStateEnum.PAY_SUCC.getKey() : this.payState;
   }

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

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

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

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

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

   public List<AccWalletPayPO> getWalletPayList() {
      return this.walletPayList;
   }

   public Long getOrderTradeId() {
      return this.orderTradeId;
   }

   public String getMachineSn() {
      return this.machineSn;
   }

   public String getRemark() {
      return this.remark;
   }

   public Long getCanteenId() {
      return this.canteenId;
   }

   public List<Integer> getPayWalletIdList() {
      return this.payWalletIdList;
   }

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

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

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

   public AccConsumeUpdateWalletPO setPayState(final Integer payState) {
      this.payState = payState;
      return this;
   }

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

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

   public AccConsumeUpdateWalletPO setWalletPayList(final List<AccWalletPayPO> walletPayList) {
      this.walletPayList = walletPayList;
      return this;
   }

   public AccConsumeUpdateWalletPO setOrderTradeId(final Long orderTradeId) {
      this.orderTradeId = orderTradeId;
      return this;
   }

   public AccConsumeUpdateWalletPO setMachineSn(final String machineSn) {
      this.machineSn = machineSn;
      return this;
   }

   public AccConsumeUpdateWalletPO setRemark(final String remark) {
      this.remark = remark;
      return this;
   }

   public AccConsumeUpdateWalletPO setUserName(final String userName) {
      this.userName = userName;
      return this;
   }

   public AccConsumeUpdateWalletPO setCanteenId(final Long canteenId) {
      this.canteenId = canteenId;
      return this;
   }

   public AccConsumeUpdateWalletPO setPayWalletIdList(final List<Integer> payWalletIdList) {
      this.payWalletIdList = payWalletIdList;
      return this;
   }

}
