Files
yunzerwebsiteallinone/go/models/system_tenant_domain.go
T

57 lines
2.5 KiB
Go

package models
import "time"
// 域名类型
const (
DomainTypePlatformSub = 1 // 平台二级域名(从主域名池申请)
DomainTypeCustom = 2 // 租户自有域名(绑定后自动签发证书)
)
// 证书状态
const (
SSLStatusPending = 0 // 待处理
SSLStatusIssuing = 1 // 签发中
SSLStatusIssued = 2 // 已签发
SSLStatusFailed = 3 // 签发失败
)
// DNS 解析校验状态
const (
VerifyStatusNone = 0 // 未检测
VerifyStatusPassed = 1 // 已通过
VerifyStatusFailed = 2 // 未通过
)
// SystemTenantDomain 租户域名表 yz_system_tenant_domain
//
// 一条记录代表一个可访问租户官网的域名。两类来源:
// - domain_type=1 平台二级域名:sub_domain + main_domain 组成 full_domain,走人工审核,
// HTTPS 由平台泛域名证书覆盖,ssl_status 不参与判断。
// - domain_type=2 租户自有域名:full_domain 为租户自己的完整主机名,sub_domain / main_domain 留空,
// DNS 检测通过后自动签发 Let's Encrypt 证书,签发成功才置 status=1。
type SystemTenantDomain struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid *uint64 `orm:"column(tid);null" json:"tid"`
DomainType int `orm:"column(domain_type);default(1)" json:"domain_type"`
SubDomain *string `orm:"column(sub_domain);size(50);null" json:"sub_domain"`
MainDomain *string `orm:"column(main_domain);size(255);null" json:"main_domain"`
FullDomain *string `orm:"column(full_domain);size(255);null" json:"full_domain"`
Status int `orm:"column(status);null" json:"status"` // 1已生效 / 0审核中 / 2禁用
SSLStatus int `orm:"column(ssl_status);default(0)" json:"ssl_status"`
SSLExpireAt *time.Time `orm:"column(ssl_expire_at);type(datetime);null" json:"ssl_expire_at"`
SSLError *string `orm:"column(ssl_error);size(500);null" json:"ssl_error"`
VerifyStatus int `orm:"column(verify_status);default(0)" json:"verify_status"`
VerifyMsg *string `orm:"column(verify_msg);size(500);null" json:"verify_msg"`
LastVerifyAt *time.Time `orm:"column(last_verify_at);type(datetime);null" json:"last_verify_at"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);auto_now;null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemTenantDomain) TableName() string {
return "yz_system_tenant_domain"
}