/*
 * Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
 *
 */
package net.northking.cctp.saas.db.entity;

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

import javax.validation.constraints.Size;

import net.northking.cctp.common.db.Partition;
import net.northking.cctp.common.db.entity.Entity;

import java.util.Date;


/**
 * 租户
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！  <br>
 * createdate:  2021-03-17 10:10:13  <br>
 *
 * @author: maven-cctp-plugin  <br>
 * @since: 1.0 <br>
 */
@ApiModel(description = "租户")
public class SaasTenant extends Partition implements Entity
{
  public static final String KEY_id = "id";
  public static final String KEY_tenantCode = "tenantCode";
  public static final String KEY_tenantName = "tenantName";
  public static final String KEY_memo = "memo";
  public static final String KEY_managerName = "managerName";
  public static final String KEY_managerPhone = "managerPhone";
  public static final String KEY_managerEmail = "managerEmail";
  public static final String KEY_maxOnlineUser = "maxOnlineUser";
  public static final String KEY_isolationLevel = "isolationLevel";
  public static final String KEY_createdBy = "createdBy";
  public static final String KEY_createdTime = "createdTime";
  public static final String KEY_updatedBy = "updatedBy";
  public static final String KEY_updatedTime = "updatedTime";
  public static final String KEY_deleted = "deleted";
  public static final String KEY_tenantStatus = "tenantStatus";
  public static final String KEY_tenantPhone = "tenantPhone";
  public static final String KEY_tenantEmail = "tenantEmail";
  public static final String KEY_tenantType = "tenantType";
  public static final String KEY_licenseCount = "licenseCount";
  public static final String KEY_isEnable = "isEnable";
  public static final String KEY_endTime = "endTime";
  public static final String KEY_position = "position";
  public static final String KEY_projectSpace = "projectSpace";
  public static final String KEY_logoId = "logoId";

  /**
   * 主键<br>
   */
  @ApiModelProperty("主键")
  @Size(max = 32, message = "主键-id: 数据长度不能 > 32")
  private String id;
  /**
   * 租户代码<br>
   */
  @ApiModelProperty("租户代码")
  @Size(max = 32, message = "租户代码-tenantCode: 数据长度不能 > 32")
  private String tenantCode;
  /**
   * 租户名称<br>
   */
  @ApiModelProperty("租户名称")
  @Size(max = 128, message = "租户名称-tenantName: 数据长度不能 > 128")
  private String tenantName;
  /**
   * 描述说明<br>
   */
  @ApiModelProperty("描述说明")
  @Size(max = 512, message = "描述说明-memo: 数据长度不能 > 512")
  private String memo;
  /**
   * 负责人姓名<br>
   */
  @ApiModelProperty("负责人姓名")
  @Size(max = 32, message = "负责人姓名-managerName: 数据长度不能 > 32")
  private String managerName;
  /**
   * 负责人电话<br>
   */
  @ApiModelProperty("负责人电话")
  @Size(max = 32, message = "负责人电话-managerPhone: 数据长度不能 > 32")
  private String managerPhone;
  /**
   * 负责人邮箱<br>
   */
  @ApiModelProperty("负责人邮箱")
  @Size(max = 32, message = "负责人邮箱-managerEmail: 数据长度不能 > 32")
  private String managerEmail;
  /**
   * 最大在线用户数量<br>
   */
  @ApiModelProperty("最大在线用户数量")
  private Integer maxOnlineUser;
  /**
   * 数据隔离级别<br>
   */
  @ApiModelProperty("数据隔离级别")
  @Size(max = 16, message = "数据隔离级别-isolationLevel: 数据长度不能 > 16")
  private String isolationLevel;
  /**
   * 创建人<br>
   */
  @ApiModelProperty("创建人")
  @Size(max = 32, message = "创建人-createdBy: 数据长度不能 > 32")
  private String createdBy;
  /**
   * 创建时间<br>
   */
  @ApiModelProperty("创建时间")
  private Date createdTime;
  /**
   * 更新人<br>
   */
  @ApiModelProperty("更新人")
  @Size(max = 32, message = "更新人-updatedBy: 数据长度不能 > 32")
  private String updatedBy;
  /**
   * 更新时间<br>
   */
  @ApiModelProperty("更新时间")
  private Date updatedTime;
  /**
   * 是否删除<br>
   */
  @ApiModelProperty("是否删除")
  private Boolean deleted;
  /**
   *  租户状态<br>
   */
  @ApiModelProperty("租户状态")
  @Size(max = 32, message = "租户状态-tenantStatus: 数据长度不能 > 32")
  private String tenantStatus;
  /**
   *  租户联系电话<br>
   */
  @ApiModelProperty("租户联系电话")
  @Size(max = 32, message = "租户联系电话-tenantPhone: 数据长度不能 > 32")
  private String tenantPhone;
  /**
   *  租户邮箱<br>
   */
  @ApiModelProperty("租户邮箱")
  @Size(max = 100, message = "租户邮箱-tenantEmail: 数据长度不能 > 100")
  private String tenantEmail;
  /**
   *  租户类型<br>
   */
  @ApiModelProperty("租户类型")
  @Size(max = 2, message = "租户类型-tenantType: 数据长度不能 > 2")
  private String tenantType;
  /**
   *  license数量<br>
   */
  @ApiModelProperty("license数量")
  private Integer licenseCount;
  /**
   *  启动/禁用<br>
   */
  @ApiModelProperty("启动/禁用")
  private Boolean enable;

  @ApiModelProperty("租户结束时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date endTime;

  @ApiModelProperty("二级菜单位置")
  private Boolean position;

  @ApiModelProperty("是否展示系统空间")
  private Boolean projectSpace;

  @ApiModelProperty("租户logo的id")
  private String logoId;

  public String getLogoId() {
    return logoId;
  }

  public void setLogoId(String logoId) {
    this.logoId = logoId;
  }

  public String getTenantStatus() {
    return tenantStatus;
  }

  public void setTenantStatus(String tenantStatus) {
    this.tenantStatus = tenantStatus;
  }

  public String getTenantPhone() {
    return tenantPhone;
  }

  public void setTenantPhone(String tenantPhone) {
    this.tenantPhone = tenantPhone;
  }

  public String getTenantEmail() {
    return tenantEmail;
  }

  public void setTenantEmail(String tenantEmail) {
    this.tenantEmail = tenantEmail;
  }

  public String getTenantType() {
    return tenantType;
  }

  public void setTenantType(String tenantType) {
    this.tenantType = tenantType;
  }

  public Integer getLicenseCount() {
    return licenseCount;
  }

  public void setLicenseCount(Integer licenseCount) {
    this.licenseCount = licenseCount;
  }

  public Boolean getEnable() {
    return enable;
  }

  public void setEnable(Boolean enable) {
    this.enable = enable;
  }

  public Date getEndTime() {
    return endTime;
  }

  public void setEndTime(Date endTime) {
    this.endTime = endTime;
  }

  /**
   * 主键<br>
   */
  public String getId()
  {
    return id;
  }

  /**
   * 主键<br>
   *
   * @param id 主键
   */
  public void setId(String id)
  {
    this.id = id;
  }

  /**
   * 租户代码<br>
   */
  public String getTenantCode()
  {
    return tenantCode;
  }

  /**
   * 租户代码<br>
   *
   * @param tenantCode 租户代码
   */
  public void setTenantCode(String tenantCode)
  {
    this.tenantCode = tenantCode;
  }

  /**
   * 租户名称<br>
   */
  public String getTenantName()
  {
    return tenantName;
  }

  /**
   * 租户名称<br>
   *
   * @param tenantName 租户名称
   */
  public void setTenantName(String tenantName)
  {
    this.tenantName = tenantName;
  }

  /**
   * 描述说明<br>
   */
  public String getMemo()
  {
    return memo;
  }

  /**
   * 描述说明<br>
   *
   * @param memo 描述说明
   */
  public void setMemo(String memo)
  {
    this.memo = memo;
  }

  /**
   * 负责人姓名<br>
   */
  public String getManagerName()
  {
    return managerName;
  }

  /**
   * 负责人姓名<br>
   *
   * @param managerName 负责人姓名
   */
  public void setManagerName(String managerName)
  {
    this.managerName = managerName;
  }

  /**
   * 负责人电话<br>
   */
  public String getManagerPhone()
  {
    return managerPhone;
  }

  /**
   * 负责人电话<br>
   *
   * @param managerPhone 负责人电话
   */
  public void setManagerPhone(String managerPhone)
  {
    this.managerPhone = managerPhone;
  }

  /**
   * 负责人邮箱<br>
   */
  public String getManagerEmail()
  {
    return managerEmail;
  }

  /**
   * 负责人邮箱<br>
   *
   * @param managerEmail 负责人邮箱
   */
  public void setManagerEmail(String managerEmail)
  {
    this.managerEmail = managerEmail;
  }

  /**
   * 在线用户数量<br>
   */
  public Integer getMaxOnlineUser()
  {
    return maxOnlineUser;
  }

  /**
   * 在线用户数量<br>
   *
   * @param maxOnlineUser 在线用户数量
   */
  public void setMaxOnlineUser(Integer maxOnlineUser)
  {
    this.maxOnlineUser = maxOnlineUser;
  }


  /**
   * 数据隔离级别<br>
   */
  public String getIsolationLevel()
  {
    return isolationLevel;
  }

  /**
   * 数据隔离级别<br>
   *
   * @param isolationLevel 数据隔离级别
   */
  public void setIsolationLevel(String isolationLevel)
  {
    this.isolationLevel = isolationLevel;
  }

  /**
   * 创建人<br>
   */
  public String getCreatedBy()
  {
    return createdBy;
  }

  /**
   * 创建人<br>
   *
   * @param createdBy 创建人
   */
  public void setCreatedBy(String createdBy)
  {
    this.createdBy = createdBy;
  }

  /**
   * 创建时间<br>
   */
  public Date getCreatedTime()
  {
    if (createdTime != null)
    {
      return (Date) createdTime.clone();
    }
    return null;
  }

  /**
   * 创建时间<br>
   *
   * @param createdTime 创建时间
   */
  public void setCreatedTime(Date createdTime)
  {
    if (createdTime != null)
    {
      this.createdTime = (Date) createdTime.clone();
    }
  }

  /**
   * 更新人<br>
   */
  public String getUpdatedBy()
  {
    return updatedBy;
  }

  /**
   * 更新人<br>
   *
   * @param updatedBy 更新人
   */
  public void setUpdatedBy(String updatedBy)
  {
    this.updatedBy = updatedBy;
  }

  /**
   * 更新时间<br>
   */
  public Date getUpdatedTime()
  {
    if (updatedTime != null)
    {
      return (Date) updatedTime.clone();
    }
    return null;
  }

  /**
   * 更新时间<br>
   *
   * @param updatedTime 更新时间
   */
  public void setUpdatedTime(Date updatedTime)
  {
    if (updatedTime != null)
    {
      this.updatedTime = (Date) updatedTime.clone();
    }
  }

  /**
   * 是否删除<br>
   */
  public Boolean getDeleted()
  {
    return deleted;
  }

  /**
   * 是否删除<br>
   *
   * @param deleted 是否删除
   */
  public void setDeleted(Boolean deleted)
  {
    this.deleted = deleted;
  }

  public static String getKEY_id() {
    return KEY_id;
  }

  public Boolean getPosition() {
    return position;
  }

  public void setPosition(Boolean position) {
    this.position = position;
  }

  public Boolean getProjectSpace() {
    return projectSpace;
  }

  public void setProjectSpace(Boolean projectSpace) {
    this.projectSpace = projectSpace;
  }

  public SaasTenant()
  {
  }


}
