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

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

@TableName("health_info_chronic")
public class HealthInfoChronic implements Serializable {
   @TableId
   private Long id;
   private Long userId;
   private Long chronicId;
   private String chronicName;
   private String createBy;
   private Date createTime;
   private String updateBy;
   private Date updateTime;

   public HealthInfoChronic() {
   }

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

   public Long getId() {
      return id;
   }

   public void setId(Long id) {
      this.id = id;
   }

   public Long getUserId() {
      return userId;
   }

   public void setUserId(Long userId) {
      this.userId = userId;
   }

   public Long getChronicId() {
      return chronicId;
   }

   public void setChronicId(Long chronicId) {
      this.chronicId = chronicId;
   }

   public String getChronicName() {
      return chronicName;
   }

   public void setChronicName(String chronicName) {
      this.chronicName = chronicName;
   }

   public String getCreateBy() {
      return createBy;
   }

   public void setCreateBy(String createBy) {
      this.createBy = createBy;
   }

   public Date getCreateTime() {
      return createTime;
   }

   public void setCreateTime(Date createTime) {
      this.createTime = createTime;
   }

   public String getUpdateBy() {
      return updateBy;
   }

   public void setUpdateBy(String updateBy) {
      this.updateBy = updateBy;
   }

   public Date getUpdateTime() {
      return updateTime;
   }

   public void setUpdateTime(Date updateTime) {
      this.updateTime = updateTime;
   }

   public HealthInfoChronic(final Long id, final Long userId, final Long chronicId, final String chronicName,
                            final String createBy, final Date createTime, final String updateBy, final Date updateTime) {
      this.id = id;
      this.userId = userId;
      this.chronicId = chronicId;
      this.chronicName = chronicName;
      this.createBy = createBy;
      this.createTime = createTime;
      this.updateBy = updateBy;
      this.updateTime = updateTime;
   }

   public static class HealthInfoChronicBuilder {
      private Long id;
      private Long userId;
      private Long chronicId;
      private String chronicName;
      private String createBy;
      private Date createTime;
      private String updateBy;
      private Date updateTime;

      HealthInfoChronicBuilder() {
      }

      public HealthInfoChronicBuilder id(final Long id) {
         this.id = id;
         return this;
      }

      public HealthInfoChronicBuilder userId(final Long userId) {
         this.userId = userId;
         return this;
      }

      public HealthInfoChronicBuilder chronicId(final Long chronicId) {
         this.chronicId = chronicId;
         return this;
      }

      public HealthInfoChronicBuilder chronicName(final String chronicName) {
         this.chronicName = chronicName;
         return this;
      }

      public HealthInfoChronicBuilder createBy(final String createBy) {
         this.createBy = createBy;
         return this;
      }

      public HealthInfoChronicBuilder createTime(final Date createTime) {
         this.createTime = createTime;
         return this;
      }

      public HealthInfoChronicBuilder updateBy(final String updateBy) {
         this.updateBy = updateBy;
         return this;
      }

      public HealthInfoChronicBuilder updateTime(final Date updateTime) {
         this.updateTime = updateTime;
         return this;
      }

      public HealthInfoChronic build() {
         return new HealthInfoChronic(this.id, this.userId, this.chronicId, this.chronicName, this.createBy, this.createTime, this.updateBy, this.updateTime);
      }

   }
}
