重构代码结构与认证体系,集成异步任务消费者
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gen"
|
||||
"gorm.io/gen/field"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/schema"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var g *gen.Generator
|
||||
@@ -15,7 +16,7 @@ func main() {
|
||||
|
||||
// 初始化
|
||||
db, _ := gorm.Open(
|
||||
postgres.Open("host=localhost user=test password=test dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai"),
|
||||
postgres.Open("host=localhost user=dev password=dev dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai"),
|
||||
&gorm.Config{
|
||||
NamingStrategy: schema.NamingStrategy{
|
||||
SingularTable: true,
|
||||
@@ -47,11 +48,13 @@ func main() {
|
||||
return field
|
||||
}),
|
||||
gen.FieldRename("contact_qq", "ContactQQ"),
|
||||
gen.FieldRename("ua", "UA"),
|
||||
}
|
||||
|
||||
// 生成模型
|
||||
customs := make(map[string]any)
|
||||
|
||||
// resource
|
||||
resourceShort := g.GenerateModel("resource_short", common...)
|
||||
customs["resource_short"] = resourceShort
|
||||
|
||||
@@ -76,6 +79,7 @@ func main() {
|
||||
)...)
|
||||
customs["resource"] = resource
|
||||
|
||||
// trade
|
||||
trade := g.GenerateModel("trade", common...)
|
||||
customs["trade"] = trade
|
||||
|
||||
@@ -104,6 +108,7 @@ func main() {
|
||||
)...)
|
||||
customs["bill"] = bill
|
||||
|
||||
// proxy
|
||||
edge := g.GenerateModel("edge", common...)
|
||||
customs["edge"] = edge
|
||||
|
||||
@@ -117,9 +122,42 @@ func main() {
|
||||
)...)
|
||||
customs["proxy"] = proxy
|
||||
|
||||
// session
|
||||
user := g.GenerateModel("user", common...)
|
||||
customs["user"] = user
|
||||
|
||||
admin := g.GenerateModel("admin", common...)
|
||||
customs["admin"] = admin
|
||||
|
||||
client := g.GenerateModel("client", common...)
|
||||
customs["client"] = client
|
||||
|
||||
session := g.GenerateModel("session", append(common,
|
||||
gen.FieldRelate(field.BelongsTo, "User", user, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
GORMTag: field.GormTag{
|
||||
"foreignKey": []string{"UserID"},
|
||||
},
|
||||
}),
|
||||
gen.FieldRelate(field.BelongsTo, "Admin", admin, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
GORMTag: field.GormTag{
|
||||
"foreignKey": []string{"AdminID"},
|
||||
},
|
||||
}),
|
||||
gen.FieldRelate(field.BelongsTo, "Client", client, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
GORMTag: field.GormTag{
|
||||
"foreignKey": []string{"ClientID"},
|
||||
"belongsTo": []string{"ID"},
|
||||
},
|
||||
}),
|
||||
)...)
|
||||
customs["session"] = session
|
||||
|
||||
// 生成表结构
|
||||
tables, _ := db.Migrator().GetTables()
|
||||
models := make([]interface{}, len(tables))
|
||||
models := make([]any, len(tables))
|
||||
for i, name := range tables {
|
||||
if customs[name] != nil {
|
||||
models[i] = customs[name]
|
||||
|
||||
Reference in New Issue
Block a user