package com.bonus.core.marketing.coupon.model;

import cn.hutool.core.util.ObjectUtil;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.Set;

public class MktCouponMacPayModel {
   @ApiModelProperty(
      value = "食堂id",
      required = true
   )
   private Long canteenId;
   @ApiModelProperty(
      value = "档口id",
      required = true
   )
   private Long stallId;
   @ApiModelProperty(
      value = "餐次id",
      required = true
   )
   private Long mealtimeId;
   @ApiModelProperty("餐券编号")
   private Long couponNum;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("订单金额")
   private BigDecimal orderAmount;
   @ApiModelProperty("餐券类型")
   private Integer couponType;
   @ApiModelProperty("餐券类型")
   private Integer orderType;
   @ApiModelProperty("食堂id")
   private Set<Long> canteenIds;
   @ApiModelProperty("档口id")
   private Set<Long> stallIds;
   @ApiModelProperty("餐次id")
   private Set<Long> mealtimeIds;

   public Set<Long> getCanteenIds() {
      return ObjectUtil.isNotEmpty(this.canteenId) ? Collections.singleton(this.canteenId) : this.canteenIds;
   }

   public Set<Long> getMealtimeIds() {
      return ObjectUtil.isNotEmpty(this.mealtimeId) ? Collections.singleton(this.mealtimeId) : this.mealtimeIds;
   }

   public Set<Long> getStallIds() {
      return ObjectUtil.isNotEmpty(this.stallId) ? Collections.singleton(this.stallId) : this.stallIds;
   }

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

   public Long getStallId() {
      return this.stallId;
   }

   public Long getMealtimeId() {
      return this.mealtimeId;
   }

   public Long getCouponNum() {
      return this.couponNum;
   }

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

   public BigDecimal getOrderAmount() {
      return this.orderAmount;
   }

   public Integer getCouponType() {
      return this.couponType;
   }

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

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

   public MktCouponMacPayModel setStallId(final Long stallId) {
      this.stallId = stallId;
      return this;
   }

   public MktCouponMacPayModel setMealtimeId(final Long mealtimeId) {
      this.mealtimeId = mealtimeId;
      return this;
   }

   public MktCouponMacPayModel setCouponNum(final Long couponNum) {
      this.couponNum = couponNum;
      return this;
   }

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

   public MktCouponMacPayModel setOrderAmount(final BigDecimal orderAmount) {
      this.orderAmount = orderAmount;
      return this;
   }

   public MktCouponMacPayModel setCouponType(final Integer couponType) {
      this.couponType = couponType;
      return this;
   }

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

   public MktCouponMacPayModel setCanteenIds(final Set<Long> canteenIds) {
      this.canteenIds = canteenIds;
      return this;
   }

   public MktCouponMacPayModel setStallIds(final Set<Long> stallIds) {
      this.stallIds = stallIds;
      return this;
   }

   public MktCouponMacPayModel setMealtimeIds(final Set<Long> mealtimeIds) {
      this.mealtimeIds = mealtimeIds;
      return this;
   }
}
