package com.foreverwin.mesnac.listener.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author Ervin Chen
 * @since 2020-12-12
 */

@TableName("Z_NWA_USER")
public class SysUser extends Model<SysUser> {

   private static final long serialVersionUID = 1L;

   @TableId(value = "HANDLE", type = IdType.INPUT)
   private String handle;
   @TableField("USER_NAME")
   private String userName;
   @TableField("FIRST_NAME")
   private String firstName;
   @TableField("LAST_NAME")
   private String lastName;
   @TableField("FULL_NAME")
   private String fullName;
   @TableField("PASSWORD")
   private String password;
   @TableField("SALT")
   private String salt;
   @TableField("PHONE")
   private String phone;
   @TableField("AVATAR")
   private String avatar;
   @TableField("DEPT_ID")
   private String deptId;
   @TableField("CREATE_TIME")
   private LocalDateTime createTime;
   @TableField("UPDATE_TIME")
   private LocalDateTime updateTime;
   @TableField("LOCK_FLAG")
   private String lockFlag;
   @TableField("DEL_FLAG")
   private String delFlag;
   @TableField("SITE")
   private String site;
   @TableField("DEPT_DESC")
   private String deptDesc;
   @TableField("VALID_FROM")
   private LocalDate validFrom;
   @TableField("VALID_TO")
   private LocalDate validTo;
   @TableField("JOB_TITLE")
   private String jobTitle;
   @TableField("EMAIL")
   private String email;


   public String getHandle() {
      return handle;
   }

   public void setHandle(String handle) {
      this.handle = handle;
   }

   public String getUserName() {
      return userName;
   }

   public void setUserName(String userName) {
      this.userName = userName;
   }

   public String getFirstName() {
      return firstName;
   }

   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }

   public String getLastName() {
      return lastName;
   }

   public void setLastName(String lastName) {
      this.lastName = lastName;
   }

   public String getFullName() {
      return fullName;
   }

   public void setFullName(String fullName) {
      this.fullName = fullName;
   }

   public String getPassword() {
      return password;
   }

   public void setPassword(String password) {
      this.password = password;
   }

   public String getSalt() {
      return salt;
   }

   public void setSalt(String salt) {
      this.salt = salt;
   }

   public String getPhone() {
      return phone;
   }

   public void setPhone(String phone) {
      this.phone = phone;
   }

   public String getAvatar() {
      return avatar;
   }

   public void setAvatar(String avatar) {
      this.avatar = avatar;
   }

   public String getDeptId() {
      return deptId;
   }

   public void setDeptId(String deptId) {
      this.deptId = deptId;
   }

   public LocalDateTime getCreateTime() {
      return createTime;
   }

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

   public LocalDateTime getUpdateTime() {
      return updateTime;
   }

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

   public String getLockFlag() {
      return lockFlag;
   }

   public void setLockFlag(String lockFlag) {
      this.lockFlag = lockFlag;
   }

   public String getDelFlag() {
      return delFlag;
   }

   public void setDelFlag(String delFlag) {
      this.delFlag = delFlag;
   }

   public String getSite() {
      return site;
   }

   public void setSite(String site) {
      this.site = site;
   }

   public String getDeptDesc() {
      return deptDesc;
   }

   public void setDeptDesc(String deptDesc) {
      this.deptDesc = deptDesc;
   }

   public LocalDate getValidFrom() {
      return validFrom;
   }

   public void setValidFrom(LocalDate validFrom) {
      this.validFrom = validFrom;
   }

   public LocalDate getValidTo() {
      return validTo;
   }

   public void setValidTo(LocalDate validTo) {
      this.validTo = validTo;
   }

   public String getJobTitle() {
      return jobTitle;
   }

   public void setJobTitle(String jobTitle) {
      this.jobTitle = jobTitle;
   }

   public String getEmail() {
      return email;
   }

   public void setEmail(String email) {
      this.email = email;
   }

   public static final String HANDLE = "HANDLE";

   public static final String USER_NAME = "USER_NAME";

   public static final String FIRST_NAME = "FIRST_NAME";

   public static final String LAST_NAME = "LAST_NAME";

   public static final String FULL_NAME = "FULL_NAME";

   public static final String PASSWORD = "PASSWORD";

   public static final String SALT = "SALT";

   public static final String PHONE = "PHONE";

   public static final String AVATAR = "AVATAR";

   public static final String DEPT_ID = "DEPT_ID";

   public static final String CREATE_TIME = "CREATE_TIME";

   public static final String UPDATE_TIME = "UPDATE_TIME";

   public static final String LOCK_FLAG = "LOCK_FLAG";

   public static final String DEL_FLAG = "DEL_FLAG";

   public static final String SITE = "SITE";

   public static final String DEPT_DESC = "DEPT_DESC";

   public static final String VALID_FROM = "VALID_FROM";

   public static final String VALID_TO = "VALID_TO";

   public static final String JOB_TITLE = "JOB_TITLE";

   public static final String EMAIL = "EMAIL";


   @Override
   protected Serializable pkVal() {
      return this.handle;
   }

   @Override
   public String toString() {
      return "SysUser{" +
              "handle = " + handle +
              ", userName = " + userName +
              ", firstName = " + firstName +
              ", lastName = " + lastName +
              ", fullName = " + fullName +
              ", password = " + password +
              ", salt = " + salt +
              ", phone = " + phone +
              ", avatar = " + avatar +
              ", deptId = " + deptId +
              ", createTime = " + createTime +
              ", updateTime = " + updateTime +
              ", lockFlag = " + lockFlag +
              ", delFlag = " + delFlag +
              ", site = " + site +
              ", deptDesc = " + deptDesc +
              ", validFrom = " + validFrom +
              ", validTo = " + validTo +
              ", jobTitle = " + jobTitle +
              ", email = " + email +
              "}";
   }
}