package com.bonus.canteen.core.allocation.canteen.dto;

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

import java.time.LocalDate;

@ApiModel("移动端查询食堂相关信息 DTO")
public class AllocMobileCanteenQueryDTO {
   @ApiModelProperty("食堂id")
   private Long canteenId;
   @ApiModelProperty("档口id")
   private Long stallId;
   @ApiModelProperty("报餐天数")
   private Integer reportMealDays;
   @ApiModelProperty("开始日期")
   private LocalDate startDate;
   @ApiModelProperty("报餐是否跳过节假日 默认:是")
   private String ifBookSkipHoliday;

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

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

   public Integer getReportMealDays() {
      return this.reportMealDays;
   }

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

   public String getIfBookSkipHoliday() {
      return this.ifBookSkipHoliday;
   }

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

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

   public void setReportMealDays(final Integer reportMealDays) {
      this.reportMealDays = reportMealDays;
   }

   public void setStartDate(final LocalDate startDate) {
      this.startDate = startDate;
   }

   public void setIfBookSkipHoliday(final String ifBookSkipHoliday) {
      this.ifBookSkipHoliday = ifBookSkipHoliday;
   }

   @Override
   public boolean equals(final Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof AllocMobileCanteenQueryDTO)) {
         return false;
      } else {
         AllocMobileCanteenQueryDTO other = (AllocMobileCanteenQueryDTO)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label71: {
               Object this$canteenId = this.getCanteenId();
               Object other$canteenId = other.getCanteenId();
               if (this$canteenId == null) {
                  if (other$canteenId == null) {
                     break label71;
                  }
               } else if (this$canteenId.equals(other$canteenId)) {
                  break label71;
               }

               return false;
            }

            Object this$stallId = this.getStallId();
            Object other$stallId = other.getStallId();
            if (this$stallId == null) {
               if (other$stallId != null) {
                  return false;
               }
            } else if (!this$stallId.equals(other$stallId)) {
               return false;
            }

            label57: {
               Object this$reportMealDays = this.getReportMealDays();
               Object other$reportMealDays = other.getReportMealDays();
               if (this$reportMealDays == null) {
                  if (other$reportMealDays == null) {
                     break label57;
                  }
               } else if (this$reportMealDays.equals(other$reportMealDays)) {
                  break label57;
               }

               return false;
            }

            Object this$startDate = this.getStartDate();
            Object other$startDate = other.getStartDate();
            if (this$startDate == null) {
               if (other$startDate != null) {
                  return false;
               }
            } else if (!this$startDate.equals(other$startDate)) {
               return false;
            }

            Object this$ifBookSkipHoliday = this.getIfBookSkipHoliday();
            Object other$ifBookSkipHoliday = other.getIfBookSkipHoliday();
            if (this$ifBookSkipHoliday == null) {
               if (other$ifBookSkipHoliday == null) {
                  return true;
               }
            } else if (this$ifBookSkipHoliday.equals(other$ifBookSkipHoliday)) {
               return true;
            }

            return false;
         }
      }
   }

   protected boolean canEqual(final Object other) {
      return other instanceof AllocMobileCanteenQueryDTO;
   }

   @Override
   public int hashCode() {
      int result = 1;
      Object $canteenId = this.getCanteenId();
      result = result * 59 + ($canteenId == null ? 43 : $canteenId.hashCode());
      Object $stallId = this.getStallId();
      result = result * 59 + ($stallId == null ? 43 : $stallId.hashCode());
      Object $reportMealDays = this.getReportMealDays();
      result = result * 59 + ($reportMealDays == null ? 43 : $reportMealDays.hashCode());
      Object $startDate = this.getStartDate();
      result = result * 59 + ($startDate == null ? 43 : $startDate.hashCode());
      Object $ifBookSkipHoliday = this.getIfBookSkipHoliday();
      result = result * 59 + ($ifBookSkipHoliday == null ? 43 : $ifBookSkipHoliday.hashCode());
      return result;
   }

   @Override
   public String toString() {
      Long var10000 = this.getCanteenId();
      return "AllocMobileCanteenQueryDTO(canteenId=" + var10000 + ", stallId=" + this.getStallId() + ", reportMealDays=" + this.getReportMealDays() + ", startDate=" + String.valueOf(this.getStartDate()) + ", ifBookSkipHoliday=" + this.getIfBookSkipHoliday() + ")";
   }
}
