package com.bonus.core.customer.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;

//@TableName("cust_casual_relation")
@ApiModel("临时人员表绑定正式人员关系表")
public class CustCasualRelation implements Serializable {
   @ApiModelProperty("主键")
   private Long id;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("openid")
   private String openid;
   @ApiModelProperty("来源类型 1-钉钉 2-微信 3-小程序")
   private Integer sourceType;
   @ApiModelProperty("是否默认 1默认  2非默认")
   private Integer isDefault;
   @ApiModelProperty("是否默认 1游客  2非游客 默认2")
   private Integer isTourist;
   private LocalDateTime crtime;
   private LocalDateTime uptime;

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

   public Long getId() {
      return this.id;
   }

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

   public String getOpenid() {
      return this.openid;
   }

   public Integer getSourceType() {
      return this.sourceType;
   }

   public Integer getIsDefault() {
      return this.isDefault;
   }

   public Integer getIsTourist() {
      return this.isTourist;
   }

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

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

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

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

   public CustCasualRelation setOpenid(final String openid) {
      this.openid = openid;
      return this;
   }

   public CustCasualRelation setSourceType(final Integer sourceType) {
      this.sourceType = sourceType;
      return this;
   }

   public CustCasualRelation setIsDefault(final Integer isDefault) {
      this.isDefault = isDefault;
      return this;
   }

   public CustCasualRelation setIsTourist(final Integer isTourist) {
      this.isTourist = isTourist;
      return this;
   }

   public CustCasualRelation setCrtime(final LocalDateTime crtime) {
      this.crtime = crtime;
      return this;
   }

   public CustCasualRelation setUptime(final LocalDateTime uptime) {
      this.uptime = uptime;
      return this;
   }

   public CustCasualRelation(final Long id, final Long custId, final String openid, final Integer sourceType, final Integer isDefault, final Integer isTourist, final LocalDateTime crtime, final LocalDateTime uptime) {
      this.id = id;
      this.custId = custId;
      this.openid = openid;
      this.sourceType = sourceType;
      this.isDefault = isDefault;
      this.isTourist = isTourist;
      this.crtime = crtime;
      this.uptime = uptime;
   }

   public CustCasualRelation() {
   }

   public static class CustCasualRelationBuilder {
      private Long id;
      private Long custId;
      private String openid;
      private Integer sourceType;
      private Integer isDefault;
      private Integer isTourist;
      private LocalDateTime crtime;
      private LocalDateTime uptime;

      CustCasualRelationBuilder() {
      }

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

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

      public CustCasualRelationBuilder openid(final String openid) {
         this.openid = openid;
         return this;
      }

      public CustCasualRelationBuilder sourceType(final Integer sourceType) {
         this.sourceType = sourceType;
         return this;
      }

      public CustCasualRelationBuilder isDefault(final Integer isDefault) {
         this.isDefault = isDefault;
         return this;
      }

      public CustCasualRelationBuilder isTourist(final Integer isTourist) {
         this.isTourist = isTourist;
         return this;
      }

      public CustCasualRelationBuilder crtime(final LocalDateTime crtime) {
         this.crtime = crtime;
         return this;
      }

      public CustCasualRelationBuilder uptime(final LocalDateTime uptime) {
         this.uptime = uptime;
         return this;
      }

      public CustCasualRelation build() {
         return new CustCasualRelation(this.id, this.custId, this.openid, this.sourceType, this.isDefault, this.isTourist, this.crtime, this.uptime);
      }

   }
}
