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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;

@ApiModel("人员营养配餐详情查询入参")
public class HealthCateringDetailQueryDTO {
   @ApiModelProperty("是否可见: 1-是,2否")
   private Integer ifVisible;
   @ApiModelProperty("人员id")
   private @NotNull(
   message = "{nutrition.cust-id-null}"
) Long custId;
   @ApiModelProperty("第几天(1-7天)")
   private Integer detailDay;

   public HealthCateringDetailQueryDTO() {
   }

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

   public Integer getIfVisible() {
      return this.ifVisible;
   }

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

   public Integer getDetailDay() {
      return this.detailDay;
   }

   public void setIfVisible(final Integer ifVisible) {
      this.ifVisible = ifVisible;
   }

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

   public void setDetailDay(final Integer detailDay) {
      this.detailDay = detailDay;
   }

   public HealthCateringDetailQueryDTO(final Integer ifVisible, final Long custId, final Integer detailDay) {
      this.ifVisible = ifVisible;
      this.custId = custId;
      this.detailDay = detailDay;
   }

   public static class HealthCateringDetailQueryDTOBuilder {
      private Integer ifVisible;
      private Long custId;
      private Integer detailDay;

      HealthCateringDetailQueryDTOBuilder() {
      }

      public HealthCateringDetailQueryDTOBuilder ifVisible(final Integer ifVisible) {
         this.ifVisible = ifVisible;
         return this;
      }

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

      public HealthCateringDetailQueryDTOBuilder detailDay(final Integer detailDay) {
         this.detailDay = detailDay;
         return this;
      }

      public HealthCateringDetailQueryDTO build() {
         return new HealthCateringDetailQueryDTO(this.ifVisible, this.custId, this.detailDay);
      }

   }
}
