package com.bonus.canteen.core.nutrition.common.vo;

import io.swagger.annotations.ApiModelProperty;

public class OrderDetailMiniVo {
   @ApiModelProperty("菜品id")
   private Long goodsDishesId;
   @ApiModelProperty("每份重量 g")
   private Integer weightUnit;
   @ApiModelProperty("数量/重量")
   private Integer quantity;
   @ApiModelProperty("销售方式: 1-按份 2-称重")
   private Integer salesMode;
   @ApiModelProperty("餐次类型 1-早餐 2-午餐 3-下午茶 4-晚餐 5-夜宵")
   private Integer mealtimeType;

   public OrderDetailMiniVo() {
   }

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

   public Long getGoodsDishesId() {
      return this.goodsDishesId;
   }

   public Integer getWeightUnit() {
      return this.weightUnit;
   }

   public Integer getQuantity() {
      return this.quantity;
   }

   public Integer getSalesMode() {
      return this.salesMode;
   }

   public Integer getMealtimeType() {
      return this.mealtimeType;
   }

   public void setGoodsDishesId(final Long goodsDishesId) {
      this.goodsDishesId = goodsDishesId;
   }

   public void setWeightUnit(final Integer weightUnit) {
      this.weightUnit = weightUnit;
   }

   public void setQuantity(final Integer quantity) {
      this.quantity = quantity;
   }

   public void setSalesMode(final Integer salesMode) {
      this.salesMode = salesMode;
   }

   public void setMealtimeType(final Integer mealtimeType) {
      this.mealtimeType = mealtimeType;
   }

   public OrderDetailMiniVo(final Long goodsDishesId, final Integer weightUnit, final Integer quantity, final Integer salesMode, final Integer mealtimeType) {
      this.goodsDishesId = goodsDishesId;
      this.weightUnit = weightUnit;
      this.quantity = quantity;
      this.salesMode = salesMode;
      this.mealtimeType = mealtimeType;
   }

   public static class OrderDetailMiniVoBuilder {
      private Long goodsDishesId;
      private Integer weightUnit;
      private Integer quantity;
      private Integer salesMode;
      private Integer mealtimeType;

      OrderDetailMiniVoBuilder() {
      }

      public OrderDetailMiniVoBuilder goodsDishesId(final Long goodsDishesId) {
         this.goodsDishesId = goodsDishesId;
         return this;
      }

      public OrderDetailMiniVoBuilder weightUnit(final Integer weightUnit) {
         this.weightUnit = weightUnit;
         return this;
      }

      public OrderDetailMiniVoBuilder quantity(final Integer quantity) {
         this.quantity = quantity;
         return this;
      }

      public OrderDetailMiniVoBuilder salesMode(final Integer salesMode) {
         this.salesMode = salesMode;
         return this;
      }

      public OrderDetailMiniVoBuilder mealtimeType(final Integer mealtimeType) {
         this.mealtimeType = mealtimeType;
         return this;
      }

      public OrderDetailMiniVo build() {
         return new OrderDetailMiniVo(this.goodsDishesId, this.weightUnit, this.quantity, this.salesMode, this.mealtimeType);
      }
   }
}
