first commit

This commit is contained in:
2026-06-03 10:09:03 +08:00
commit 81f5039458
6266 changed files with 188236 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
package models
import "time"
// AdminRole 平台角色表 yz_system_admin_role
type AdminRole struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Cid uint8 `orm:"column(cid);default(1)" json:"cid"` // 1平台角色 2租户角色
Name string `orm:"column(name);size(32)" json:"name"`
Status uint8 `orm:"column(status);default(1)" json:"status"`
Rights *string `orm:"column(rights);type(text);null" json:"rights"`
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 *AdminRole) TableName() string {
return "yz_system_admin_role"
}
+27
View File
@@ -0,0 +1,27 @@
package models
import "time"
// AdminUser 平台管理员信息表 yz_system_admin_user
type AdminUser struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Account string `orm:"column(account);size(64)" json:"account"`
Password string `orm:"column(password);size(255)" json:"-"`
Name *string `orm:"column(name);size(32);null" json:"name"`
Phone *string `orm:"column(phone);size(18);null" json:"phone"`
Email *string `orm:"column(email);size(255);null" json:"email"`
Qq *string `orm:"column(qq);size(16);null" json:"qq"`
Sex uint8 `orm:"column(sex);default(0)" json:"sex"`
Avatar *string `orm:"column(avatar);size(255);null" json:"avatar"`
RoleID uint64 `orm:"column(role_id)" json:"rid"`
LoginCount uint64 `orm:"column(login_count);default(0)" json:"login_count"`
LastLoginIP *string `orm:"column(last_login_ip);size(255);null" json:"last_login_ip"`
Status uint8 `orm:"column(status);default(1)" json:"status"`
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 *AdminUser) TableName() string {
return "yz_system_admin_user"
}
+19
View File
@@ -0,0 +1,19 @@
package models
import "time"
// ComplaintCategory 投诉建议产品分类 yz_system_complaint_category
type ComplaintCategory struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Name string `orm:"column(name);size(64)" json:"name"`
Code *string `orm:"column(code);size(32);null" json:"code"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"createTime"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"updateTime"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"deleteTime"`
}
func (c *ComplaintCategory) TableName() string {
return "yz_system_complaint_category"
}
+73
View File
@@ -0,0 +1,73 @@
package models
import "time"
// BackendErpOrganization 组织架构表 yz_backend_erp_organization
type BackendErpOrganization struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
OrgName string `orm:"column(org_name);size(128)" json:"org_name"`
OrgCode string `orm:"column(org_code);size(64)" json:"org_code"`
ParentID uint64 `orm:"column(parent_id);default(0)" json:"parent_id"`
Sort uint `orm:"column(sort);default(0)" json:"sort"`
LeaderID *uint64 `orm:"column(leader_id);null" json:"leader_id"`
IsCompany int `orm:"column(is_company);default(0)" json:"is_company"`
Status int8 `orm:"column(status);default(1)" json:"status"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
Remark *string `orm:"column(remark);size(512);null" json:"remark"`
}
// TableName 自定义表名
func (m *BackendErpOrganization) TableName() string {
return "yz_backend_erp_organization"
}
// BackendErpEmployee 员工信息表 yz_backend_erp_employee
type BackendErpEmployee struct {
ID uint `orm:"column(id);pk;auto" json:"id"`
Tid *int `orm:"column(tid);null" json:"tid"`
Account string `orm:"column(account);size(50)" json:"account"`
Password string `orm:"column(password);size(64);default()" json:"-"`
Name string `orm:"column(name);size(30)" json:"name"`
Gender int8 `orm:"column(gender);default(0)" json:"gender"`
Birthday *time.Time `orm:"column(birthday);type(date);null" json:"birthday"`
AffiliateUnit *string `orm:"column(affiliate_unit);size(100);null" json:"affiliate_unit"`
Department *string `orm:"column(department);size(50);null" json:"department"`
Position *string `orm:"column(position);size(50);null" json:"position"`
Education *string `orm:"column(education);size(20);null" json:"education"`
Nation *string `orm:"column(nation);size(20);null" json:"nation"`
Phone *string `orm:"column(phone);size(20);null" json:"phone"`
Wechat *string `orm:"column(wechat);size(50);null" json:"wechat"`
Email *string `orm:"column(email);size(100);null" json:"email"`
HomeAddress *string `orm:"column(home_address);size(255);null" json:"home_address"`
AccountStatus int8 `orm:"column(account_status);default(1)" json:"account_status"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
// TableName 自定义表名
func (m *BackendErpEmployee) TableName() string {
return "yz_backend_erp_employee"
}
// BackendErpPosition 职位表 yz_backend_erp_position
type BackendErpPosition struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
TenantID uint64 `orm:"column(tenant_id)" json:"tenant_id"`
DepartmentID uint64 `orm:"column(department_id)" json:"department_id"`
PositionCode string `orm:"column(position_code);size(50)" json:"position_code"`
PositionName string `orm:"column(position_name);size(100)" json:"position_name"`
PositionType int8 `orm:"column(position_type);default(0)" json:"position_type"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Sort uint `orm:"column(sort);default(0)" json:"sort"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
}
// TableName 自定义表名
func (m *BackendErpPosition) TableName() string {
return "yz_backend_erp_position"
}
+66
View File
@@ -0,0 +1,66 @@
package models
import (
"fmt"
"github.com/beego/beego/v2/client/orm"
beego "github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
)
// Orm 全局 ORM 对象,供业务层和控制器使用
var Orm orm.Ormer
// Init 初始化模型层资源(数据库连接、模型注册等)。
func Init(_ string) {
// 从配置读取数据库连接信息
user, _ := beego.AppConfig.String("mysqluser")
pass, _ := beego.AppConfig.String("mysqlpass")
urls, _ := beego.AppConfig.String("mysqlurls")
dbname, _ := beego.AppConfig.String("mysqldb")
if user == "" || urls == "" || dbname == "" {
panic("数据库配置(mysqluser/mysqlurls/mysqldb) 未正确设置")
}
// 组装 DSNuser:pass@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local
dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", user, pass, urls, dbname)
// 注册默认数据库
if err := orm.RegisterDataBase("default", "mysql", dsn); err != nil {
panic("注册数据库失败: " + err.Error())
}
// 注册模型
orm.RegisterModel(
new(SystemTenant),
new(SystemTenantUser),
new(BackendErpOrganization),
new(BackendErpEmployee),
new(BackendErpPosition),
new(SystemMenu),
new(AdminUser),
new(AdminRole),
new(SystemFile),
new(SystemFilesCategory),
new(SystemEmail),
new(SystemSMS),
new(SystemSMSTask),
new(SystemOperationLog),
new(SystemDomainPool),
new(SystemTenantDomain),
new(SystemModules),
new(PlatformLoginVerify),
new(StorageConfig),
new(TenantSiteSetting),
new(ComplaintCategory),
new(PlatformComplaint),
new(SystemSoftwareUpgrade),
new(PlatformAccountPoolKiro),
new(PlatformAccountPoolWindsurf),
new(PlatformAccountPoolCursor),
)
// 创建全局 Ormer
Orm = orm.NewOrm()
}
+64
View File
@@ -0,0 +1,64 @@
package models
import "time"
// PlatformAccountPoolKiro 号池表: yz_platform_account_pool_krio
type PlatformAccountPoolKiro struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
DataType string `orm:"column(data_type);size(32)" json:"data_type"` // account | tk | account_tk
Account string `orm:"column(account);size(128);default()" json:"account"`
Password string `orm:"column(password);size(255);default()" json:"password"`
Token string `orm:"column(token);type(text);null" json:"token"`
Remark string `orm:"column(remark);size(255);default()" json:"remark"`
IsExtracted int8 `orm:"column(is_extracted);default(0)" json:"is_extracted"`
ExtractedTime *time.Time `orm:"column(extracted_time);type(datetime);null" json:"extracted_time"`
ExtractedPlatform *string `orm:"column(extracted_platform);size(32);null" json:"extracted_platform"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *PlatformAccountPoolKiro) TableName() string {
return "yz_platform_account_pool_krio"
}
// PlatformAccountPoolWindsurf 号池表: yz_platform_account_pool_windsurf
type PlatformAccountPoolWindsurf struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
DataType string `orm:"column(data_type);size(32)" json:"data_type"` // account | tk | account_tk
Account string `orm:"column(account);size(128);default()" json:"account"`
Password string `orm:"column(password);size(255);default()" json:"password"`
Token string `orm:"column(token);type(text);null" json:"token"`
Remark string `orm:"column(remark);size(255);default()" json:"remark"`
IsExtracted int8 `orm:"column(is_extracted);default(0)" json:"is_extracted"`
ExtractedTime *time.Time `orm:"column(extracted_time);type(datetime);null" json:"extracted_time"`
ExtractedPlatform *string `orm:"column(extracted_platform);size(32);null" json:"extracted_platform"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *PlatformAccountPoolWindsurf) TableName() string {
return "yz_platform_account_pool_windsurf"
}
// PlatformAccountPoolCursor 号池表: yz_platform_account_pool_cursor
type PlatformAccountPoolCursor struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
DataType string `orm:"column(data_type);size(32)" json:"data_type"` // account | tk | account_tk
Account string `orm:"column(account);size(128);default()" json:"account"`
Password string `orm:"column(password);size(255);default()" json:"password"`
Token string `orm:"column(token);type(text);null" json:"token"`
Remark string `orm:"column(remark);size(255);default()" json:"remark"`
IsExtracted int8 `orm:"column(is_extracted);default(0)" json:"is_extracted"`
IsUsed *int8 `orm:"column(is_used);null" json:"is_used"` // 0=用完/不可用 1=可用 NULL=未探测
ExtractedTime *time.Time `orm:"column(extracted_time);type(datetime);null" json:"extracted_time"`
ExtractedPlatform *string `orm:"column(extracted_platform);size(32);null" json:"extracted_platform"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *PlatformAccountPoolCursor) TableName() string {
return "yz_platform_account_pool_cursor"
}
+26
View File
@@ -0,0 +1,26 @@
package models
import "time"
// PlatformComplaint 平台投诉建议 yz_system_platform_complaint
type PlatformComplaint struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
CategoryID uint64 `orm:"column(category_id)" json:"categoryId"`
Title string `orm:"column(title);size(200)" json:"title"`
Content string `orm:"column(content);type(text)" json:"content"`
ContactName *string `orm:"column(contact_name);size(64);null" json:"contactName"`
ContactPhone *string `orm:"column(contact_phone);size(32);null" json:"contactPhone"`
ContactEmail *string `orm:"column(contact_email);size(128);null" json:"contactEmail"`
Status int8 `orm:"column(status);default(0)" json:"status"`
ReplyContent *string `orm:"column(reply_content);type(text);null" json:"replyContent"`
ReplyTime *time.Time `orm:"column(reply_time);type(datetime);null" json:"replyTime"`
Tid *uint64 `orm:"column(tid);null" json:"tid"`
Remark *string `orm:"column(remark);size(512);null" json:"remark"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"createTime"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"updateTime"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"deleteTime"`
}
func (p *PlatformComplaint) TableName() string {
return "yz_system_platform_complaint"
}
+34
View File
@@ -0,0 +1,34 @@
package models
import "time"
// PlatformLoginVerify 平台登录验证配置(单行配置)
type PlatformLoginVerify struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
OpenVerifyEnabled int8 `orm:"column(open_verify_enabled);default(1)" json:"openVerify_enabled"` // 0关闭 1开启
VerifyType string `orm:"column(verify_type);size(20);default(captcha)" json:"verify_type"` // captcha/sms/geetest/email
Geetest3ID *string `orm:"column(geetest3_id);size(128);null" json:"geetest3_id"`
Geetest3Key *string `orm:"column(geetest3_key);size(255);null" json:"geetest3_key"`
Geetest4ID *string `orm:"column(geetest4_id);size(128);null" json:"geetest4_id"`
Geetest4Key *string `orm:"column(geetest4_key);size(255);null" json:"geetest4_key"`
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"`
}
func (m *PlatformLoginVerify) TableName() string {
return "yz_system_login_verify"
}
func GetPlatformLoginVerify() (*PlatformLoginVerify, error) {
var cfg PlatformLoginVerify
err := Orm.QueryTable(new(PlatformLoginVerify)).OrderBy("-id").One(&cfg)
if err != nil {
// 默认配置:验证码
return &PlatformLoginVerify{OpenVerifyEnabled: 1, VerifyType: "captcha"}, nil
}
if cfg.VerifyType == "" {
cfg.VerifyType = "captcha"
}
return &cfg, nil
}
+35
View File
@@ -0,0 +1,35 @@
package models
import "time"
// StorageConfig 存储配置(单行配置)
type StorageConfig struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
StorageType string `orm:"column(storage_type);size(20);default(local)" json:"storage_type"` // local/qiniu
// 七牛云配置
QiniuAccessKey string `orm:"column(qiniu_access_key);size(255);null" json:"qiniu_access_key"`
QiniuSecretKey string `orm:"column(qiniu_secret_key);size(255);null" json:"qiniu_secret_key"`
QiniuBucket string `orm:"column(qiniu_bucket);size(128);null" json:"qiniu_bucket"`
QiniuDomain string `orm:"column(qiniu_domain);size(255);null" json:"qiniu_domain"` // CDN域名
QiniuRegion string `orm:"column(qiniu_region);size(50);null" json:"qiniu_region"` // 存储区域
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"`
}
func (m *StorageConfig) TableName() string {
return "yz_system_storage_config"
}
// GetStorageConfig 获取存储配置
func GetStorageConfig() (*StorageConfig, error) {
var cfg StorageConfig
err := Orm.QueryTable(new(StorageConfig)).OrderBy("-id").One(&cfg)
if err != nil {
// 默认配置:本地存储
return &StorageConfig{StorageType: "local"}, nil
}
if cfg.StorageType == "" {
cfg.StorageType = "local"
}
return &cfg, nil
}
+17
View File
@@ -0,0 +1,17 @@
package models
import "time"
// SystemDomainPool 主域名池表 yz_system_domain_pool
type SystemDomainPool struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
MainDomain string `orm:"column(main_domain);size(255)" json:"main_domain"`
Status int8 `orm:"column(status);default(1)" json:"status"` // 1启用 0禁用
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 *SystemDomainPool) TableName() string {
return "yz_system_domain_pool"
}
+23
View File
@@ -0,0 +1,23 @@
package models
import "time"
// SystemEmail 系统邮箱配置表 yz_system_email
type SystemEmail struct {
ID uint `orm:"column(id);pk;auto" json:"id"`
FromAddress string `orm:"column(from_address);size(191)" json:"from_address"`
FromName *string `orm:"column(from_name);size(191);null" json:"from_name"`
Host string `orm:"column(host);size(191)" json:"host"`
Port uint `orm:"column(port);default(465)" json:"port"`
Password string `orm:"column(password);size(255)" json:"password"`
Encryption string `orm:"column(encryption);size(8)" json:"encryption"` // ssl / tls / none
Timeout uint `orm:"column(timeout);default(30)" json:"timeout"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Remark *string `orm:"column(remark);size(255);null" json:"remark"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add;null" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);type(datetime);auto_now;null" json:"update_time"`
}
func (m *SystemEmail) TableName() string {
return "yz_system_email"
}
+25
View File
@@ -0,0 +1,25 @@
package models
import "time"
// SystemFile 附件表 yz_system_files
type SystemFile struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
Uid *uint64 `orm:"column(uid);null" json:"uid"`
Tuid *uint64 `orm:"column(tuid);null" json:"tuid"`
Name string `orm:"column(name);size(255)" json:"name"`
Type uint8 `orm:"column(type);default(2)" json:"type"`
Cate uint64 `orm:"column(cate);default(0)" json:"cate"`
Size uint64 `orm:"column(size);default(0)" json:"size"`
Src string `orm:"column(src);size(512)" json:"src"`
Uploader uint64 `orm:"column(uploader);default(0)" json:"uploader"`
Md5 string `orm:"column(md5);size(32)" json:"md5"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null;auto_now" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemFile) TableName() string {
return "yz_system_files"
}
+19
View File
@@ -0,0 +1,19 @@
package models
import "time"
// SystemFilesCategory 文件分类表 yz_system_files_category
type SystemFilesCategory struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
Uid *uint64 `orm:"column(uid);null" json:"uid"`
Tuid *uint64 `orm:"column(tuid);null" json:"tuid"`
Name string `orm:"column(name);size(128)" json:"name"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null;auto_now" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemFilesCategory) TableName() string {
return "yz_system_files_category"
}
+30
View File
@@ -0,0 +1,30 @@
package models
import "time"
// SystemMenu 系统菜单表 yz_system_menu
type SystemMenu struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"` // 菜单ID
Pid int64 `orm:"column(pid);default(0)" json:"pid"` // 上级菜单ID
Title string `orm:"column(title);size(50)" json:"title"` // 菜单名称
Path *string `orm:"column(path);size(200);null" json:"path"` // 路由路径
ComponentPath *string `orm:"column(component_path);size(255);null" json:"componentPath"` // 组件路径
Icon *string `orm:"column(icon);size(100);null" json:"icon"` // 菜单图标
Sort int64 `orm:"column(sort);default(0)" json:"sort"` // 排序号
Status int8 `orm:"column(status);default(0)" json:"status"` // 状态:1-启用,0-禁用
IsVisible *int8 `orm:"column(is_visible);null" json:"isVisible"` // 是否显示:1-显示 0-不显示
Views *string `orm:"column(views);size(255);null" json:"views"` // 菜单显示端(JSON数组字符串):[1]=平台端 [2]=租户端 [1,2]=双端
Type int8 `orm:"column(type)" json:"type"` // 菜单类型:1-目录,2-页面,3-接口
Permission *string `orm:"column(permission);size(100);null" json:"permission"` // 权限标识(按钮类型时填写)
Creater *string `orm:"column(creater);size(50);null" json:"creater"` // 创建者
Remark *string `orm:"column(remark);size(500);null" json:"remark"` // 备注
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"createTime"` // 创建时间
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"updateTime"` // 更新时间
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"deleteTime"` // 删除时间
}
// TableName 自定义表名
func (m *SystemMenu) TableName() string {
return "yz_system_menu"
}
+25
View File
@@ -0,0 +1,25 @@
package models
import "time"
// SystemModules 系统模块表 yz_system_modules
type SystemModules struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Mid *uint64 `orm:"column(mid);null" json:"mid"`
Name string `orm:"column(name);size(50)" json:"name"`
Code string `orm:"column(code);size(50)" json:"code"`
Path string `orm:"column(path);size(100)" json:"path"`
Icon string `orm:"column(icon);size(50)" json:"icon"`
Description string `orm:"column(description);size(255)" json:"description"`
Type int `orm:"column(type);default(0)" json:"type"` // 0未分类 1功能模块 2系统配置
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"` // 0禁用 1启用
IsShow int8 `orm:"column(is_show);default(1)" json:"is_show"` // 0否 1是
CreateTime *time.Time `orm:"column(create_time);type(datetime);null" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemModules) TableName() string {
return "yz_system_modules"
}
+28
View File
@@ -0,0 +1,28 @@
package models
import "time"
// SystemOperationLog 操作日志表 yz_system_operation_log
type SystemOperationLog struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid *uint64 `orm:"column(tid);null" json:"tid"`
UserID uint64 `orm:"column(user_id);default(0)" json:"user_id"`
Module string `orm:"column(module);size(50);default('')" json:"module"`
Action string `orm:"column(action);size(50);default('')" json:"action"`
Method string `orm:"column(method);size(10);default('')" json:"method"`
URL string `orm:"column(url);size(255);default('')" json:"url"`
IP string `orm:"column(ip);size(50);default('')" json:"ip"`
UserAgent string `orm:"column(user_agent);size(500);default('')" json:"user_agent"`
RequestData *string `orm:"column(request_data);type(text);null" json:"request_data"`
ResponseData *string `orm:"column(response_data);type(text);null" json:"response_data"`
Status int8 `orm:"column(status);default(1)" json:"status"`
ErrorMessage *string `orm:"column(error_message);type(text);null" json:"error_message"`
ExecutionTime float64 `orm:"column(execution_time);digits(10);decimals(3);default(0)" json:"execution_time"`
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 *SystemOperationLog) TableName() string {
return "yz_system_operation_log"
}
+32
View File
@@ -0,0 +1,32 @@
package models
import "time"
// SystemSMS 短信配置表 yz_system_sms
type SystemSMS struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
ConfigCode string `orm:"column(config_code);size(64)" json:"config_code"`
ConfigName string `orm:"column(config_name);size(128)" json:"config_name"`
ChannelType int8 `orm:"column(channel_type);default(1)" json:"channel_type"`
ApiURL string `orm:"column(api_url);size(512);default('')" json:"api_url"`
ApiKey string `orm:"column(api_key);size(256);default('')" json:"api_key"`
ApiSecret string `orm:"column(api_secret);size(256);default('')" json:"api_secret"`
SignName string `orm:"column(sign_name);size(128);default('')" json:"sign_name"`
TemplateID string `orm:"column(template_id);size(128);default('')" json:"template_id"`
ExtraParams *string `orm:"column(extra_params);type(json);null" json:"extra_params"`
TestPhone string `orm:"column(test_phone);size(64);default('')" json:"test_phone"`
Weight int `orm:"column(weight);default(10)" json:"weight"`
IsDefault int8 `orm:"column(is_default);default(0)" json:"is_default"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Remark string `orm:"column(remark);size(512);default('')" json:"remark"`
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" json:"update_time"`
}
func (m *SystemSMS) TableName() string {
return "yz_system_sms"
}
+22
View File
@@ -0,0 +1,22 @@
package models
import "time"
// SystemSMSTask 短信任务表 yz_system_sms_tasks
type SystemSMSTask struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid *uint64 `orm:"column(tid);null" json:"tid"` // 测试允许为空
ApiKey string `orm:"column(api_key);size(255)" json:"api_key"`
Phone string `orm:"column(phone);size(50)" json:"phone"`
Content *string `orm:"column(content);type(text);null" json:"content"`
Status int `orm:"column(status);default(0)" json:"status"`
Code string `orm:"column(code);size(20);default('')" json:"code"`
ReportRaw *string `orm:"column(report_raw);type(text);null" json:"report_raw"`
CreateTime *time.Time `orm:"column(create_time);type(datetime);null" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemSMSTask) TableName() string {
return "yz_system_sms_tasks"
}
+24
View File
@@ -0,0 +1,24 @@
package models
import "time"
// SystemSoftwareUpgrade 软件升级产品 yz_system_software_upgrade
type SystemSoftwareUpgrade struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Name string `orm:"column(name);size(128)" json:"name"`
Code string `orm:"column(code);size(64);unique" json:"code"`
LatestVersion string `orm:"column(latest_version);size(32)" json:"latestVersion"`
FileID *uint64 `orm:"column(file_id);null" json:"fileId"`
DownloadURL *string `orm:"column(download_url);size(512);null" json:"downloadUrl"`
ForceUpdate int8 `orm:"column(force_update);default(0)" json:"forceUpdate"`
ReleaseNotes *string `orm:"column(release_notes);size(2000);null" json:"releaseNotes"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"createTime"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"updateTime"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"deleteTime"`
}
func (m *SystemSoftwareUpgrade) TableName() string {
return "yz_system_software_upgrade"
}
+23
View File
@@ -0,0 +1,23 @@
package models
import "time"
type SystemTenant struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
TenantCode string `orm:"column(tenant_code);size(32)" json:"tenant_code"`
TenantName string `orm:"column(tenant_name);size(128)" json:"tenant_name"`
ContactPerson *string `orm:"column(contact_person);size(64);null" json:"contact_person"`
ContactPhone *string `orm:"column(contact_phone);size(20);null" json:"contact_phone"`
ContactEmail *string `orm:"column(contact_email);size(128);null" json:"contact_email"`
Address *string `orm:"column(address);size(255);null" json:"address"`
Worktime *string `orm:"column(worktime);size(255);null" json:"worktime"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Remark *string `orm:"column(remark);size(512);null" json:"remark"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemTenant) TableName() string {
return "yz_system_tenant"
}
+20
View File
@@ -0,0 +1,20 @@
package models
import "time"
// SystemTenantDomain 租户域名表 yz_tenant_domain
type SystemTenantDomain struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid *uint64 `orm:"column(tid);null" json:"tid"`
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禁用
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_tenant_domain"
}
+30
View File
@@ -0,0 +1,30 @@
package models
import "time"
// TenantSiteSetting 租户站点设置表 yz_tenant_site_setting
// 主要用于“站点基本信息”配置(站点名称/Logo/企业介绍等)
type TenantSiteSetting struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid);null" json:"tid"`
Sitename string `orm:"column(sitename);size(255);null" json:"sitename"`
Logo string `orm:"column(logo);size(255);null" json:"logo"`
Logow string `orm:"column(logow);size(255);null" json:"logow"`
Ico string `orm:"column(ico);size(255);null" json:"ico"`
Companyintroduction string `orm:"column(companyintroduction);type(longtext);null" json:"companyintroduction"`
Description string `orm:"column(description);size(255);null" json:"description"`
Copyright string `orm:"column(copyright);size(255);null" json:"copyright"`
Companyname string `orm:"column(companyname);size(255);null" json:"companyname"`
Icp string `orm:"column(icp);size(255);null" json:"icp"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add;null" 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 *TenantSiteSetting) TableName() string {
return "yz_system_tenant_site_setting"
}
+26
View File
@@ -0,0 +1,26 @@
package models
import "time"
type SystemTenantUser struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
Uid uint64 `orm:"column(uid)" json:"uid"`
Account *string `orm:"column(account);size(64);null" json:"account"`
Name *string `orm:"column(name);size(64);null" json:"name"`
Phone *string `orm:"column(phone);size(20);null" json:"phone"`
Email *string `orm:"column(email);size(128);null" json:"email"`
Sex uint8 `orm:"column(sex);default(0)" json:"sex"`
Birth *string `orm:"column(birth);size(20);null" json:"birth"`
Password *string `orm:"column(password);size(255);null" json:"password"`
IsDefault int8 `orm:"column(is_default);default(0)" json:"is_default"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Remark *string `orm:"column(remark);size(255);null" json:"remark"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *SystemTenantUser) TableName() string {
return "yz_system_tenant_user"
}