package com.gxwebsoft.oa.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 网站信息记录表
 *
 * @author 科技小王子
 * @since 2024-10-18 18:27:02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "OaAssetsSite对象", description = "网站信息记录表")
public class OaAssetsSite implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "站点ID")
    @TableId(value = "website_id", type = IdType.AUTO)
    private Integer websiteId;

    @Schema(description = "网站名称")
    private String websiteName;

    @Schema(description = "网站标识")
    private String websiteCode;

    @Schema(description = "网站LOGO")
    private String websiteIcon;

    @Schema(description = "网站LOGO")
    private String websiteLogo;

    @Schema(description = "网站LOGO(深色模式)")
    private String websiteDarkLogo;

    @Schema(description = "网站类型")
    private String websiteType;

    @Schema(description = "网站关键词")
    private String keywords;

    @Schema(description = "域名前缀")
    private String prefix;

    @Schema(description = "绑定域名")
    private String domain;

    @Schema(description = "全局样式")
    private String style;

    @Schema(description = "后台管理地址")
    private String adminUrl;

    @Schema(description = "应用版本 10免费版 20授权版 30永久授权")
    private Integer version;

    @Schema(description = "服务到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationTime;

    @Schema(description = "模版ID")
    private Integer templateId;

    @Schema(description = "行业类型(父级)")
    private String industryParent;

    @Schema(description = "行业类型(子级)")
    private String industryChild;

    @Schema(description = "企业ID")
    private Integer companyId;

    @Schema(description = "所在国家")
    private String country;

    @Schema(description = "所在省份")
    private String province;

    @Schema(description = "所在城市")
    private String city;

    @Schema(description = "所在辖区")
    private String region;

    @Schema(description = "经度")
    private String longitude;

    @Schema(description = "纬度")
    private String latitude;

    @Schema(description = "街道地址")
    private String address;

    @Schema(description = "联系电话")
    private String phone;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "ICP备案号")
    private String icpNo;

    @Schema(description = "公安备案")
    private String policeNo;

    @Schema(description = "备注")
    private String comments;

    @Schema(description = "是否推荐")
    private Integer recommend;

    @Schema(description = "状态 0未开通 1运行中 2维护中 3已关闭 4已欠费停机 5违规关停")
    private Integer status;

    @Schema(description = "维护说明")
    private String statusText;

    @Schema(description = "关闭说明")
    private String statusClose;

    @Schema(description = "全局样式")
    private String styles;

    @Schema(description = "排序号")
    private Integer sortNumber;

    @Schema(description = "服务器ID")
    private Integer assetsId;

    @Schema(description = "用户ID")
    private Integer userId;

    @Schema(description = "可见用户")
    private String userIds;

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

    @Schema(description = "租户id")
    private Integer tenantId;

    @Schema(description = "应用名称")
    @TableField(exist = false)
    private String tenantName;

    @Schema(description = "应用图标")
    @TableField(exist = false)
    private String logo;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

}
