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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

@ApiModel("查询摄入分析入参")
public class HealthDietReportDTO {
   @ApiModelProperty("人员id")
   private @NotNull(
   message = "{nutrition.analysis.custId.nonNull}"
) Long custId;
   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   @ApiModelProperty("起始日期")
   private @NotNull(
   message = "{nutrition.analysis.startDate.nonNull}"
) LocalDate startDate;
   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   @ApiModelProperty("结束日期")
   private @NotNull(
   message = "{nutrition.analysis.endData.nonNull}"
) LocalDate endDate;
   private List<Integer> mealtimeTypeList;

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

   public LocalDate getStartDate() {
      return this.startDate;
   }

   public LocalDate getEndDate() {
      return this.endDate;
   }

   public List<Integer> getMealtimeTypeList() {
      return this.mealtimeTypeList;
   }

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

   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   public HealthDietReportDTO setStartDate(final LocalDate startDate) {
      this.startDate = startDate;
      return this;
   }

   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   public HealthDietReportDTO setEndDate(final LocalDate endDate) {
      this.endDate = endDate;
      return this;
   }

   public HealthDietReportDTO setMealtimeTypeList(final List<Integer> mealtimeTypeList) {
      this.mealtimeTypeList = mealtimeTypeList;
      return this;
   }
}
