package com.bonus.canteen.core.order.deprecated.dto;

import cn.hutool.core.collection.ListUtil;
import com.alibaba.fastjson.annotation.JSONField;
import com.bonus.common.houqin.constant.LeConstants;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public class MacPayReceiptOffLineDTO implements Serializable {
   List<MacPayOffLineDetailDTO> ordDetailList;
   private Integer sourceType;
   private Long ordId;
   private Long custId;
   private String serialNum;
   @ApiModelProperty("托盘物理号")
   private String plateSerialNum;
   @ApiModelProperty("下单人员姓名")
   private String placeOrdName;
   @ApiModelProperty("下单人手机号")
   private String placeOrdMobile;
   private String macOrdId;
   private String machineSn;
   private String mchNum;
   private String mchName;
   private LocalDate ordGoodsDate;
   private Integer amount;
   @JSONField(
      format = "yyyy-MM-dd HH:mm:ss"
   )
   private LocalDateTime macDate;
   private Integer consumMode;
   private Integer nuClearMode;
   private Long canteenId;
   private String canteenName;
   private Long shopstallId;
   private String shopstallName;
   private Long intervalId;
   @ApiModelProperty("餐次名称")
   private String intervalName;
   private Integer payType;
   private String payChannel;
   private String payTenantNum;
   private String payTerminalNum;
   private String payPriKey;
   private Integer ifOnline;
   private Long areaId;
   private String areaName;
   private String alterThirdPayUrl;
   private BigDecimal discount;
   private BigDecimal maxDiscountAmount;
   private String openid;
   private String proSpecial;
   private Integer realAmount;
   private Integer takeOutFlag;
   private Integer ordType;
   private Integer orderType;
   @ApiModelProperty("优惠券id")
   private String couponId;
   @ApiModelProperty("是否计量计量调用消费接口")
   private Integer ifPayWeight;
   @ApiModelProperty("绑定类型 1设备2微信3支付宝")
   private Integer weightBindType;
   private String terminalParams;

   public boolean ifPayWeight() {
      return LeConstants.COMMON_YES.equals(this.ifPayWeight);
   }

   public List<MacPayOffLineDetailDTO> getOrdDetailList() {
      return this.ordDetailList != null ? this.ordDetailList : ListUtil.empty();
   }

   public Integer getSourceType() {
      return this.sourceType;
   }

   public Long getOrdId() {
      return this.ordId;
   }

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

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

   public String getPlateSerialNum() {
      return this.plateSerialNum;
   }

   public String getPlaceOrdName() {
      return this.placeOrdName;
   }

   public String getPlaceOrdMobile() {
      return this.placeOrdMobile;
   }

   public String getMacOrdId() {
      return this.macOrdId;
   }

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

   public String getMchNum() {
      return this.mchNum;
   }

   public String getMchName() {
      return this.mchName;
   }

   public LocalDate getOrdGoodsDate() {
      return this.ordGoodsDate;
   }

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

   public LocalDateTime getMacDate() {
      return this.macDate;
   }

   public Integer getConsumMode() {
      return this.consumMode;
   }

   public Integer getNuClearMode() {
      return this.nuClearMode;
   }

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

   public String getCanteenName() {
      return this.canteenName;
   }

   public Long getShopstallId() {
      return this.shopstallId;
   }

   public String getShopstallName() {
      return this.shopstallName;
   }

   public Long getIntervalId() {
      return this.intervalId;
   }

   public String getIntervalName() {
      return this.intervalName;
   }

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

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

   public String getPayTenantNum() {
      return this.payTenantNum;
   }

   public String getPayTerminalNum() {
      return this.payTerminalNum;
   }

   public String getPayPriKey() {
      return this.payPriKey;
   }

   public Integer getIfOnline() {
      return this.ifOnline;
   }

   public Long getAreaId() {
      return this.areaId;
   }

   public String getAreaName() {
      return this.areaName;
   }

   public String getAlterThirdPayUrl() {
      return this.alterThirdPayUrl;
   }

   public BigDecimal getDiscount() {
      return this.discount;
   }

   public BigDecimal getMaxDiscountAmount() {
      return this.maxDiscountAmount;
   }

   public String getOpenid() {
      return this.openid;
   }

   public String getProSpecial() {
      return this.proSpecial;
   }

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

   public Integer getTakeOutFlag() {
      return this.takeOutFlag;
   }

   public Integer getOrdType() {
      return this.ordType;
   }

   public Integer getOrderType() {
      return this.orderType;
   }

   public String getCouponId() {
      return this.couponId;
   }

   public Integer getIfPayWeight() {
      return this.ifPayWeight;
   }

   public Integer getWeightBindType() {
      return this.weightBindType;
   }

   public String getTerminalParams() {
      return this.terminalParams;
   }

   public void setOrdDetailList(final List<MacPayOffLineDetailDTO> ordDetailList) {
      this.ordDetailList = ordDetailList;
   }

   public void setSourceType(final Integer sourceType) {
      this.sourceType = sourceType;
   }

   public void setOrdId(final Long ordId) {
      this.ordId = ordId;
   }

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

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

   public void setPlateSerialNum(final String plateSerialNum) {
      this.plateSerialNum = plateSerialNum;
   }

   public void setPlaceOrdName(final String placeOrdName) {
      this.placeOrdName = placeOrdName;
   }

   public void setPlaceOrdMobile(final String placeOrdMobile) {
      this.placeOrdMobile = placeOrdMobile;
   }

   public void setMacOrdId(final String macOrdId) {
      this.macOrdId = macOrdId;
   }

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

   public void setMchNum(final String mchNum) {
      this.mchNum = mchNum;
   }

   public void setMchName(final String mchName) {
      this.mchName = mchName;
   }

   public void setOrdGoodsDate(final LocalDate ordGoodsDate) {
      this.ordGoodsDate = ordGoodsDate;
   }

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

   public void setMacDate(final LocalDateTime macDate) {
      this.macDate = macDate;
   }

   public void setConsumMode(final Integer consumMode) {
      this.consumMode = consumMode;
   }

   public void setNuClearMode(final Integer nuClearMode) {
      this.nuClearMode = nuClearMode;
   }

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

   public void setCanteenName(final String canteenName) {
      this.canteenName = canteenName;
   }

   public void setShopstallId(final Long shopstallId) {
      this.shopstallId = shopstallId;
   }

   public void setShopstallName(final String shopstallName) {
      this.shopstallName = shopstallName;
   }

   public void setIntervalId(final Long intervalId) {
      this.intervalId = intervalId;
   }

   public void setIntervalName(final String intervalName) {
      this.intervalName = intervalName;
   }

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

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

   public void setPayTenantNum(final String payTenantNum) {
      this.payTenantNum = payTenantNum;
   }

   public void setPayTerminalNum(final String payTerminalNum) {
      this.payTerminalNum = payTerminalNum;
   }

   public void setPayPriKey(final String payPriKey) {
      this.payPriKey = payPriKey;
   }

   public void setIfOnline(final Integer ifOnline) {
      this.ifOnline = ifOnline;
   }

   public void setAreaId(final Long areaId) {
      this.areaId = areaId;
   }

   public void setAreaName(final String areaName) {
      this.areaName = areaName;
   }

   public void setAlterThirdPayUrl(final String alterThirdPayUrl) {
      this.alterThirdPayUrl = alterThirdPayUrl;
   }

   public void setDiscount(final BigDecimal discount) {
      this.discount = discount;
   }

   public void setMaxDiscountAmount(final BigDecimal maxDiscountAmount) {
      this.maxDiscountAmount = maxDiscountAmount;
   }

   public void setOpenid(final String openid) {
      this.openid = openid;
   }

   public void setProSpecial(final String proSpecial) {
      this.proSpecial = proSpecial;
   }

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

   public void setTakeOutFlag(final Integer takeOutFlag) {
      this.takeOutFlag = takeOutFlag;
   }

   public void setOrdType(final Integer ordType) {
      this.ordType = ordType;
   }

   public void setOrderType(final Integer orderType) {
      this.orderType = orderType;
   }

   public void setCouponId(final String couponId) {
      this.couponId = couponId;
   }

   public void setIfPayWeight(final Integer ifPayWeight) {
      this.ifPayWeight = ifPayWeight;
   }

   public void setWeightBindType(final Integer weightBindType) {
      this.weightBindType = weightBindType;
   }

   public void setTerminalParams(final String terminalParams) {
      this.terminalParams = terminalParams;
   }

}
