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 Tenant extends BaseEntity {

    /** 企业 Logo */
    @Excel(name = "企业Logo")
    @ApiModelProperty(value = "企业Logo")
    private String logo;


    /** 标识码 */
    @Excel(name = "标识码")
    @ApiModelProperty(value = "标识码")
    private String identity;


    /** 标识码 */
    @Excel(name = "标识码")
    @ApiModelProperty(value = "标识二维码")
    private String identityQcCode;


    /** 轮播图 */
    @Excel(name = "轮播图")
    @ApiModelProperty(value = "轮播图")
    private String rotationChart;

    /** snms_系统 登录密码 */
    @Excel(name = "snms_系统 登录密码")
    @ApiModelProperty(value = "snms_系统 登录密码")
    private String snmsPassword;

    /** snms_系统 登录名称 */
    @Excel(name = "snms_系统 登录名称")
    @ApiModelProperty(value = "snms_系统 登录名称")
    private String snmsUserName;

    /** 租户名称 = 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;


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

    /** 企业前缀 */
    @Excel(name = "企业前缀")
    @ApiModelProperty(value = "企业前缀")
    private String entPrefix;

    /** 单位性质 单位性质，国有控股、民营控股、外商控股、事业单位、民营非盈利，对应取值1-5 */
    @Excel(name = "单位性质 单位性质，国有控股、民营控股、外商控股、事业单位、民营非盈利，对应取值1-5")
    @ApiModelProperty(value = "单位性质 单位性质，国有控股、民营控股、外商控股、事业单位、民营非盈利，对应取值1-5")
    private Integer orgNature;

    /** 单位地址，详细地址 */
    @Excel(name = "单位地址，详细地址")
    @ApiModelProperty(value = "单位地址，详细地址")
    private String orgAddr;

    /** 单位地址，省，取值遵从全国省市区行政编码，如北京110000 */
    @Excel(name = "单位地址，省，取值遵从全国省市区行政编码，如北京110000")
    @ApiModelProperty(value = "单位地址，省，取值遵从全国省市区行政编码，如北京110000")
    private String orgAddrProvince;
    private String province;

    /** 单位地址，市，取值遵从全国省市区行政编码，如北京市则展示为直辖市，取值110100 */
    @Excel(name = "单位地址，市，取值遵从全国省市区行政编码，如北京市则展示为直辖市，取值110100")
    @ApiModelProperty(value = "单位地址，市，取值遵从全国省市区行政编码，如北京市则展示为直辖市，取值110100")
    private String orgAddrCity;
    private String city;

    /** 单位地址，县，取值遵从全国省市区行政编码，如北京的东城区110101 */
    @Excel(name = "单位地址，县，取值遵从全国省市区行政编码，如北京的东城区110101")
    @ApiModelProperty(value = "单位地址，县，取值遵从全国省市区行政编码，如北京的东城区110101")
    private String orgAddrCounty;
    private String county;


    /** 单位证件号 */
    @Excel(name = "单位证件号")
    @ApiModelProperty(value = "单位证件号")
    private String orgCrtCode;

    /** 单位证件类型，统一社会信用代码、其他，对应取值1-2 */
    @Excel(name = "单位证件类型，统一社会信用代码、其他，对应取值1-2")
    @ApiModelProperty(value = "单位证件类型，统一社会信用代码、其他，对应取值1-2")
    private Integer orgCrtType;

    /** 注册资本，单位元 */
    @Excel(name = "注册资本，单位元")
    @ApiModelProperty(value = "注册资本，单位元")
    private Long regCapital;

    /** 成立日期，时间格式：yyyy-MM-dd  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成立日期，时间格式：yyyy-MM-dd ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "成立日期，时间格式：yyyy-MM-dd ")
    private Date establishDate;

    /** 单位简介，200字左右企业简介，包括公司名称、成立时间、所在省市、主营业务、主要用户群体、行业地位等信息。 */
    @Excel(name = "单位简介，200字左右企业简介，包括公司名称、成立时间、所在省市、主营业务、主要用户群体、行业地位等信息。")
    @ApiModelProperty(value = "单位简介，200字左右企业简介，包括公司名称、成立时间、所在省市、主营业务、主要用户群体、行业地位等信息。")
    private String orgDesc;


    /** 服务行业，行业门类，参考《GB/T 4754—2017国民经济行业分类》，如门类“农、林、牧、渔业”对应“A”
     */
    @Excel(name = "服务行业，行业门类，参考《GB/T 4754—2017国民经济行业分类》，如门类“农、林、牧、渔业”对应“A” ")
    @ApiModelProperty(value = "服务行业，行业门类，参考《GB/T 4754—2017国民经济行业分类》，如门类“农、林、牧、渔业”对应“A” ")
    private String industryCategory;
    @TableField(exist = false)
    private String industryCategoryStr;

    /** 服务行业，行业大类，参考《GB/T 4754—2017国民经济行业分类》，如大类“农业”对应“01”。和门类有级联关系 */
    @Excel(name = "服务行业，行业大类，参考《GB/T 4754—2017国民经济行业分类》，如大类“农业”对应“01”。和门类有级联关系")
    @ApiModelProperty(value = "服务行业，行业大类，参考《GB/T 4754—2017国民经济行业分类》，如大类“农业”对应“01”。和门类有级联关系")
    private String industrySpecific;
    @TableField(exist = false)
    private String industrySpecificStr;

    /** 官方网站 */
    @Excel(name = "官方网站")
    @ApiModelProperty(value = "官方网站")
    private String website;

    /** 法定代表人姓名 */
    @Excel(name = "法定代表人姓名")
    @ApiModelProperty(value = "法定代表人姓名")
    private String legalName;

    /** 联系人邮箱，正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* */
    @Excel(name = "联系人邮箱，正则表达式")
    @ApiModelProperty(value = "联系人邮箱，正则表达式：")
    private String contactEmail;

    /** 联系人手机号，正则表达式：(1[0-9][0-9])\d{8} */
    @Excel(name = "联系人手机号，正则表达式：")
    @ApiModelProperty(value = "联系人手机号，正则表达式：")
    private String contactPhone;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    @ApiModelProperty(value = "联系人姓名")
    private String contactName;


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

    private Integer status;
    /** 审核结果 */
    private String auditMsg;
    /** 审核人 */
    private String auditUser;
    /** 审核时间 */
    private String auditDate;

    /** 企业 营业执照 */
    private String businessLicense;
    /** biz_user 用户名 */
    @TableField(exist = false)
    private String userName;
    /** 企业介绍富文本 */
    private String introduction;

    @TableField(exist = false)
    private String operateType;
    @TableField(exist = false)
    private Long userId;
    @TableField(exist = false)
    private Long applyId;
    @TableField(exist = false)
    private Integer applyStatus;

    @ApiModelProperty("公司名称")
    private String companyName;
    @ApiModelProperty("系统名称")
    private String accountName;

    @ApiModelProperty("版本外键")
    private Long versionId;
    @ApiModelProperty("版本名")
    @TableField(exist = false)
    private String versionName;
}
