package com.bonus.canteen.core.allocation.holiday.vo;

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

import java.time.LocalDate;
import java.util.Date;

@ApiModel("分页获取节假日")
public class MktHolidayPageVO {
   @ApiModelProperty("节假日id")
   private Long holId;
   @ApiModelProperty("年份")
   private Integer holYear;
   @ApiModelProperty("节假日名字")
   private String holName;
   @ApiModelProperty("法定节假日日期")
   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   private LocalDate holDate;
   @ApiModelProperty("1法定节假日 2用户自定义节日")
   private Integer holType;
   @ApiModelProperty("创建人")
   private String crby;
   @ApiModelProperty("创建时间")
   private Date crtime;
   @ApiModelProperty("更新人")
   private String upby;
   @ApiModelProperty("更新时间")
   private Date uptime;

   public Long getHolId() {
      return this.holId;
   }

   public Integer getHolYear() {
      return this.holYear;
   }

   public String getHolName() {
      return this.holName;
   }

   public LocalDate getHolDate() {
      return this.holDate;
   }

   public Integer getHolType() {
      return this.holType;
   }

   public String getCrby() {
      return this.crby;
   }

   public Date getCrtime() {
      return this.crtime;
   }

   public String getUpby() {
      return this.upby;
   }

   public Date getUptime() {
      return this.uptime;
   }

   public void setHolId(final Long holId) {
      this.holId = holId;
   }

   public void setHolYear(final Integer holYear) {
      this.holYear = holYear;
   }

   public void setHolName(final String holName) {
      this.holName = holName;
   }

   @JsonFormat(
      pattern = "yyyy-MM-dd"
   )
   public void setHolDate(final LocalDate holDate) {
      this.holDate = holDate;
   }

   public void setHolType(final Integer holType) {
      this.holType = holType;
   }

   public void setCrby(final String crby) {
      this.crby = crby;
   }

   public void setCrtime(final Date crtime) {
      this.crtime = crtime;
   }

   public void setUpby(final String upby) {
      this.upby = upby;
   }

   public void setUptime(final Date uptime) {
      this.uptime = uptime;
   }

   public boolean equals(final Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof MktHolidayPageVO)) {
         return false;
      } else {
         MktHolidayPageVO other = (MktHolidayPageVO)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label119: {
               Object this$holId = this.getHolId();
               Object other$holId = other.getHolId();
               if (this$holId == null) {
                  if (other$holId == null) {
                     break label119;
                  }
               } else if (this$holId.equals(other$holId)) {
                  break label119;
               }

               return false;
            }

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

            label105: {
               Object this$holType = this.getHolType();
               Object other$holType = other.getHolType();
               if (this$holType == null) {
                  if (other$holType == null) {
                     break label105;
                  }
               } else if (this$holType.equals(other$holType)) {
                  break label105;
               }

               return false;
            }

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

            label91: {
               Object this$holDate = this.getHolDate();
               Object other$holDate = other.getHolDate();
               if (this$holDate == null) {
                  if (other$holDate == null) {
                     break label91;
                  }
               } else if (this$holDate.equals(other$holDate)) {
                  break label91;
               }

               return false;
            }

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

            label77: {
               Object this$crtime = this.getCrtime();
               Object other$crtime = other.getCrtime();
               if (this$crtime == null) {
                  if (other$crtime == null) {
                     break label77;
                  }
               } else if (this$crtime.equals(other$crtime)) {
                  break label77;
               }

               return false;
            }

            label70: {
               Object this$upby = this.getUpby();
               Object other$upby = other.getUpby();
               if (this$upby == null) {
                  if (other$upby == null) {
                     break label70;
                  }
               } else if (this$upby.equals(other$upby)) {
                  break label70;
               }

               return false;
            }

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

            return true;
         }
      }
   }

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

   @Override
   public int hashCode() {
      int result = 1;
      Object $holId = this.getHolId();
      result = result * 59 + ($holId == null ? 43 : $holId.hashCode());
      Object $holYear = this.getHolYear();
      result = result * 59 + ($holYear == null ? 43 : $holYear.hashCode());
      Object $holType = this.getHolType();
      result = result * 59 + ($holType == null ? 43 : $holType.hashCode());
      Object $holName = this.getHolName();
      result = result * 59 + ($holName == null ? 43 : $holName.hashCode());
      Object $holDate = this.getHolDate();
      result = result * 59 + ($holDate == null ? 43 : $holDate.hashCode());
      Object $crby = this.getCrby();
      result = result * 59 + ($crby == null ? 43 : $crby.hashCode());
      Object $crtime = this.getCrtime();
      result = result * 59 + ($crtime == null ? 43 : $crtime.hashCode());
      Object $upby = this.getUpby();
      result = result * 59 + ($upby == null ? 43 : $upby.hashCode());
      Object $uptime = this.getUptime();
      result = result * 59 + ($uptime == null ? 43 : $uptime.hashCode());
      return result;
   }

   @Override
   public String toString() {
      Long var10000 = this.getHolId();
      return "MktHolidayPageVO(holId=" + var10000 + ", holYear=" + this.getHolYear() + ", holName=" + this.getHolName() + ", holDate=" + String.valueOf(this.getHolDate()) + ", holType=" + this.getHolType() + ", crby=" + this.getCrby() + ", crtime=" + String.valueOf(this.getCrtime()) + ", upby=" + this.getUpby() + ", uptime=" + String.valueOf(this.getUptime()) + ")";
   }
}
