package com.bonus.core.account.v3.po;

import io.swagger.annotations.ApiModelProperty;

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

public class AccInfoUpdatePO {
   @ApiModelProperty("用户id")
   public @NotNull(
   message = "请填写用户id"
) Long custId;
   @ApiModelProperty("账户有效截止日期")
   public LocalDate endDate;

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

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

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

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

   public void setEndDate(final LocalDate endDate) {
      this.endDate = endDate;
   }

   public boolean equals(final Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof AccInfoUpdatePO)) {
         return false;
      } else {
         AccInfoUpdatePO other = (AccInfoUpdatePO)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            Object this$custId = this.getCustId();
            Object other$custId = other.getCustId();
            if (this$custId == null) {
               if (other$custId != null) {
                  return false;
               }
            } else if (!this$custId.equals(other$custId)) {
               return false;
            }

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

            return true;
         }
      }
   }

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


   public String toString() {
      Long var10000 = this.getCustId();
      return "AccInfoUpdatePO(custId=" + var10000 + ", endDate=" + String.valueOf(this.getEndDate()) + ")";
   }

   public AccInfoUpdatePO(final Long custId, final LocalDate endDate) {
      this.custId = custId;
      this.endDate = endDate;
   }

   public AccInfoUpdatePO() {
   }

   public static class AccInfoUpdatePOBuilder {
      private Long custId;
      private LocalDate endDate;

      AccInfoUpdatePOBuilder() {
      }

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

      public AccInfoUpdatePOBuilder endDate(final LocalDate endDate) {
         this.endDate = endDate;
         return this;
      }

      public AccInfoUpdatePO build() {
         return new AccInfoUpdatePO(this.custId, this.endDate);
      }

      public String toString() {
         Long var10000 = this.custId;
         return "AccInfoUpdatePO.AccInfoUpdatePOBuilder(custId=" + var10000 + ", endDate=" + String.valueOf(this.endDate) + ")";
      }
   }
}
