93 lines
1.5 KiB
Go
93 lines
1.5 KiB
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
|
|
db "management/internal/db/sqlc"
|
|
"management/internal/global/pearadmin"
|
|
)
|
|
|
|
func InitSeed() {
|
|
ctx := context.Background()
|
|
|
|
// 后台pear配置
|
|
b, err := db.Engine.ExistsSysConfigByKey(ctx, pearadmin.PearKey)
|
|
if err != nil {
|
|
log.Fatalf("failed to get sys config: %v", err)
|
|
}
|
|
if !b {
|
|
err = initConfig()
|
|
if err != nil {
|
|
log.Fatal("sys config: ", err)
|
|
}
|
|
}
|
|
|
|
// 部门
|
|
b, err = db.Engine.ExistsSysDepartment(ctx)
|
|
if err != nil {
|
|
log.Fatal("department exists: ", err)
|
|
}
|
|
var depart *db.SysDepartment
|
|
if !b {
|
|
depart, err = initDepartment()
|
|
if err != nil {
|
|
log.Fatal("department: ", err)
|
|
}
|
|
}
|
|
|
|
// 角色
|
|
b, err = db.Engine.ExistsVipRole(ctx)
|
|
if err != nil {
|
|
log.Fatal("role exists: ", err)
|
|
}
|
|
var role *db.SysRole
|
|
if !b {
|
|
role, err = initRole()
|
|
if err != nil {
|
|
log.Fatal("role: ", err)
|
|
}
|
|
} else {
|
|
role, err = db.Engine.GetFirstVipRole(ctx)
|
|
if err != nil {
|
|
log.Fatal("find role: ", err)
|
|
}
|
|
}
|
|
|
|
// 用户
|
|
b, err = db.Engine.ExistsSysUser(ctx)
|
|
if err != nil {
|
|
log.Fatal("user exists: ", err)
|
|
}
|
|
if !b {
|
|
_, err = initUser(depart.ID, role.ID)
|
|
if err != nil {
|
|
log.Fatal("user: ", err)
|
|
}
|
|
}
|
|
|
|
// 类别
|
|
b, err = db.Engine.ExistsCategories(ctx)
|
|
if err != nil {
|
|
log.Fatal("category exists: ", err)
|
|
}
|
|
if !b {
|
|
_, err := initCategory()
|
|
if err != nil {
|
|
log.Fatal("category: ", err)
|
|
}
|
|
}
|
|
|
|
// 菜单
|
|
b, err = db.Engine.ExistsMenu(ctx)
|
|
if err != nil {
|
|
log.Fatal("menu exists: ", err)
|
|
}
|
|
if !b {
|
|
err = initMenu()
|
|
if err != nil {
|
|
log.Fatal("menu: ", err)
|
|
}
|
|
}
|
|
}
|