package cn.ezhizao.project.tenant.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
import cn.ezhizao.framework.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 租户表
 * @author zhushan
 */
@Data
@TableName(value = "biz_tenant")
public class BizTenant extends BaseEntity {

    /**
     * 厂别ID
     */
    private Long id;
    /** 企业 Logo */
    @Excel(name = "企业Logo")
    @ApiModelProperty(value = "企业Logo")
    private String logo;

    /** 租户名称 = snms系统中的企业名称 */
    @Excel(name = "租户名称 = snms系统中的企业名称")
    @ApiModelProperty(value = "租户名称 = snms系统中的企业名称")
    private String orgName;

    /** 数据库连接 url */
    @Excel(name = "数据库连接 url")
    @ApiModelProperty(value = "数据库连接 url")
    private String dbUrl;

    /** 数据库连接 用户名 */
    @Excel(name = "数据库连接 用户名")
    @ApiModelProperty(value = "数据库连接 用户名")
    private String dbUserName;

    /** 数据库连接 密码 */
    @Excel(name = "数据库连接 密码")
    @ApiModelProperty(value = "数据库连接 密码")
    private String dbPassword;

    /** 数据库名 */
    @Excel(name = "数据库名")
    @ApiModelProperty(value = "数据库名")
    private String databaseName;

    /** 数据库主机 */
    @Excel(name = "数据库主机")
    @ApiModelProperty(value = "数据库主机")
    private String dbHost;

    /** 0 普通/1 VIP VIP租户有独立数据库 */
    @Excel(name = "0 普通/1 VIP VIP租户有独立数据库")
    @ApiModelProperty(value = "0 普通/1 VIP VIP租户有独立数据库")
    private Integer vip;

    /** 状态 1 正常 2 停用 */
    @Excel(name = "状态 1 正常 2 停用")
    @ApiModelProperty(value = "状态 1 正常 2 停用")
    private Integer status;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "过期时间")
    private Date expire;

    /** biz_user 用户名 */
    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String operateType;

    @TableField(exist = false)
    private Long userId;
    private String code;

    @TableField(exist = false)
    private Long applyId;

    @TableField(exist = false)
    private Integer applyStatus;
    @TableField(exist = false)
    private Long value;
    @TableField(exist = false)
    private String label;
    @TableField(exist = false)
    private Long tenantId;
}
