做字典管理

This commit is contained in:
2026-09-28 23:16:26 +08:00
parent 7c75edcc61
commit c49e8d0d3f
59 changed files with 5005 additions and 4673 deletions
+45
View File
@@ -0,0 +1,45 @@
package models
import "time"
// BackendDict 租户端数据字典(字典列表): yz_backend_dict
// 表结构见 docs/sql/create_dict.sql。租户隔离字段 tenant_id 与 yz_backend_erp_supplier 一致。
type BackendDict struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"`
DictName string `orm:"column(dict_name);size(100)" json:"dict_name"`
DictCode string `orm:"column(dict_code);size(100)" json:"dict_code"`
Remark string `orm:"column(remark);size(500)" json:"remark"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"`
CreateUserID string `orm:"column(create_user_id);size(64)" json:"create_user_id"`
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" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *BackendDict) TableName() string {
return "yz_backend_dict"
}
// BackendDictItem 租户端字典项: yz_backend_dict_item
// tenant_id 冗余自所属字典,写入时由后端保证与字典一致。
type BackendDictItem struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
TenantID string `orm:"column(tenant_id);size(64)" json:"tenant_id"`
DictID uint64 `orm:"column(dict_id);default(0)" json:"dict_id"`
ItemLabel string `orm:"column(item_label);size(100)" json:"item_label"`
ItemValue string `orm:"column(item_value);size(100)" json:"item_value"`
TagType string `orm:"column(tag_type);size(20)" json:"tag_type"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"`
IsDefault int8 `orm:"column(is_default);default(0)" json:"is_default"`
Remark string `orm:"column(remark);size(500)" 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);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *BackendDictItem) TableName() string {
return "yz_backend_dict_item"
}
+6
View File
@@ -210,6 +210,12 @@ func Init(_ string) {
new(AuthTenantIdp),
new(AuthTenantAuthConfig),
new(AuthLoginLog),
// 数据字典(docs/sql/create_dict.sql):平台端 / 租户端各一套
new(PlatformDict),
new(PlatformDictItem),
new(BackendDict),
new(BackendDictItem),
)
// 创建全局 Ormer
+42
View File
@@ -0,0 +1,42 @@
package models
import "time"
// PlatformDict 平台端数据字典(字典列表): yz_platform_dict
// 表结构见 docs/sql/create_dict.sql(人工执行建表,代码不做自动建表)。
type PlatformDict struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
DictName string `orm:"column(dict_name);size(100)" json:"dict_name"`
DictCode string `orm:"column(dict_code);size(100)" json:"dict_code"`
Remark string `orm:"column(remark);size(500)" json:"remark"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"`
CreateUserID string `orm:"column(create_user_id);size(64)" json:"create_user_id"`
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" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *PlatformDict) TableName() string {
return "yz_platform_dict"
}
// PlatformDictItem 平台端字典项: yz_platform_dict_item
type PlatformDictItem struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
DictID uint64 `orm:"column(dict_id);default(0)" json:"dict_id"`
ItemLabel string `orm:"column(item_label);size(100)" json:"item_label"`
ItemValue string `orm:"column(item_value);size(100)" json:"item_value"`
TagType string `orm:"column(tag_type);size(20)" json:"tag_type"`
Sort int `orm:"column(sort);default(0)" json:"sort"`
Status int8 `orm:"column(status);default(1)" json:"status"`
IsDefault int8 `orm:"column(is_default);default(0)" json:"is_default"`
Remark string `orm:"column(remark);size(500)" 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);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *PlatformDictItem) TableName() string {
return "yz_platform_dict_item"
}