package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * <p>
 * 租户表
 * </p>
 *
 * @author xn
 * @since 2022-09-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_tenant")
public class SysTenant implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "tenant_id",type = IdType.ASSIGN_ID)
    private String tenantId;

    /**
     * 租户名称
     */
    @TableField("tenant_name")
    private String tenantName;

    /**
     * 超级管理租户
     */
    @TableField("super_tenant")
    private Boolean superTenant;

    /**
     * 联系人
     */
    @TableField("contact_name")
    private String contactName;

    /**
     * 联系人电话
     */
    @TableField("contact_phone")
    private String contactPhone;

    /**
     * 联系地址
     */
    @TableField("contact_address")
    private String contactAddress;

    /**
     * 生效开始时间
     */
    @TableField("begin_time")
    private Date beginTime;

    /**
     * 失效时间
     */
    @TableField("end_time")
    private Date endTime;

    /**
     * 备注
     */
    @TableField("memo")
    private String memo;

    /**
     * 状态（1停用 0正常 ）
     */
    @TableField("in_use")
    private String inUse;

    /**
     * 删除标志（1删除 0在用）
     */
    @TableField("delete_flag")
    @TableLogic
    private String deleteFlag;

    /**
     * 创建者
     */
    @TableField("create_user")
    private Long createUser;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新者
     */
    @TableField("last_update_user")
    private Long lastUpdateUser;

    /**
     * 更新时间
     */
    @TableField("last_update_time")
    private Date lastUpdateTime;


    @TableField(exist = false)
    private String[] useDateRange;
    //当前租户
    @TableField(exist = false)
    private boolean nowTenant = false;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public Date getBeginTime() {
        return beginTime;
    }

    @JsonFormat(pattern="yyyy-MM-dd")
    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public Date getEndTime() {
        return endTime;
    }

    @JsonFormat(pattern="yyyy-MM-dd")
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

}
