package com.gxwebsoft.oa.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 企业信息
 *
 * @author 科技小王子
 * @since 2023-10-23 19:18:58
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Company对象", description = "企业信息")
@TableName("oa_company")
public class Company implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "企业id")
    @TableId(value = "company_id", type = IdType.AUTO)
    private Integer companyId;

    @ApiModelProperty(value = "企业简称")
    private String shortName;

    @ApiModelProperty(value = "企业全称")
    private String companyName;

    @ApiModelProperty(value = "企业标识")
    private String companyCode;

    @ApiModelProperty(value = "类型 10企业 20政府单位")
    private String companyType;

    @ApiModelProperty(value = "企业类型多选")
    private String companyTypeMultiple;

    @ApiModelProperty(value = "应用标识")
    private String companyLogo;

    @ApiModelProperty(value = "应用类型")
    private String appType;

    @ApiModelProperty(value = "绑定域名")
    private String domain;

    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "座机电话")
    private String tel;

    @ApiModelProperty(value = "发票抬头")
    @TableField("Invoice_header")
    private String invoiceHeader;

    @ApiModelProperty(value = "企业法人")
    private String businessEntity;

    @ApiModelProperty(value = "服务开始时间")
    private Date startTime;

    @ApiModelProperty(value = "服务到期时间")
    private Date expirationTime;

    @ApiModelProperty(value = "应用版本 10体验版 20授权版 30旗舰版")
    private Integer version;

    @ApiModelProperty(value = "成员数量(人数上限)")
    private Integer members;

    @ApiModelProperty(value = "成员数量(当前)")
    private Integer users;

    @ApiModelProperty(value = "行业类型(父级)")
    private String industryParent;

    @ApiModelProperty(value = "行业类型(子级)")
    private String industryChild;

    @ApiModelProperty(value = "部门数量")
    private Integer departments;

    @ApiModelProperty(value = "存储空间")
    private Long storage;

    @ApiModelProperty(value = "存储空间(上限)")
    private Long storageMax;

    @ApiModelProperty(value = "所在国家")
    private String country;

    @ApiModelProperty(value = "所在省份")
    private String province;

    @ApiModelProperty(value = "所在城市")
    private String city;

    @ApiModelProperty(value = "所在辖区")
    private String region;

    @ApiModelProperty(value = "街道地址")
    private String address;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "备注")
    private String comments;

    @ApiModelProperty(value = "是否实名认证")
    private Integer authentication;

    @ApiModelProperty(value = "企业默认主体")
    private Integer authoritative;

    @ApiModelProperty(value = "request合法域名")
    private String requestUrl;

    @ApiModelProperty(value = "socket合法域名")
    private String socketUrl;

    @ApiModelProperty(value = "主控端域名")
    private String serverUrl;

    @ApiModelProperty(value = "业务域名")
    private String modulesUrl;

    @ApiModelProperty(value = "是否推荐")
    private Integer recommend;

    @ApiModelProperty(value = "点赞数量")
    private Integer likes;

    @ApiModelProperty(value = "点击数量")
    private Integer clicks;

    @ApiModelProperty(value = "购买数量")
    private Integer buys;

    @ApiModelProperty(value = "是否含税, 0不含, 1含")
    private Integer isTax;

    @ApiModelProperty(value = "当前克隆的租户ID")
    private Integer planId;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "排序号")
    private Integer sortNumber;

    @ApiModelProperty(value = "用户ID")
    private Integer userId;

    @ApiModelProperty(value = "是否删除, 0否, 1是")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "租户id")
    private Integer tenantId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

}
