first commit
This commit is contained in:
21
internal/db/init/category.go
Normal file
21
internal/db/init/category.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
)
|
||||
|
||||
func initCategory() (*db.Category, error) {
|
||||
arg := db.CreateCategoryParams{
|
||||
Name: "根结点",
|
||||
Icon: "",
|
||||
Description: "",
|
||||
Letter: "",
|
||||
ParentID: 0,
|
||||
ParentPath: ",0,",
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
}
|
||||
return db.Engine.CreateCategory(context.Background(), &arg)
|
||||
}
|
||||
27
internal/db/init/config.go
Normal file
27
internal/db/init/config.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/global/pearadmin"
|
||||
)
|
||||
|
||||
func initConfig() error {
|
||||
b, err := json.Marshal(pearadmin.PearJson)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
arg := db.CreateSysConfigParams{
|
||||
Key: pearadmin.PearKey,
|
||||
Value: b,
|
||||
}
|
||||
err = db.Engine.CreateSysConfig(context.Background(), &arg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
21
internal/db/init/department.go
Normal file
21
internal/db/init/department.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
)
|
||||
|
||||
func initDepartment() (*db.SysDepartment, error) {
|
||||
arg := db.CreateSysDepartmentParams{
|
||||
Name: "公司",
|
||||
ParentID: 0,
|
||||
ParentPath: ",0,",
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
return db.Engine.CreateSysDepartment(context.Background(), &arg)
|
||||
}
|
||||
92
internal/db/init/init.go
Normal file
92
internal/db/init/init.go
Normal file
@@ -0,0 +1,92 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
28
internal/db/init/menu.go
Normal file
28
internal/db/init/menu.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"management/internal/db/init/menus"
|
||||
)
|
||||
|
||||
func initMenu() error {
|
||||
ctx := context.Background()
|
||||
|
||||
err := menus.SystemInit(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = menus.ERPInit(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// err = menus.PaperInit(ctx)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
return nil
|
||||
}
|
||||
555
internal/db/init/menus/erp.go
Normal file
555
internal/db/init/menus/erp.go
Normal file
@@ -0,0 +1,555 @@
|
||||
package menus
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func ERPInit(ctx context.Context) error {
|
||||
erp, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "ERP管理",
|
||||
DisplayName: "ERP管理",
|
||||
Url: uuid.Must(uuid.NewRandom()).String(),
|
||||
Type: "node",
|
||||
ParentID: 0,
|
||||
ParentPath: ",0,",
|
||||
Avatar: "layui-icon layui-icon-set",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
pro, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "项目管理",
|
||||
DisplayName: "项目管理",
|
||||
Url: uuid.Must(uuid.NewRandom()).String(),
|
||||
Type: "node",
|
||||
ParentID: erp.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
|
||||
Avatar: "layui-icon layui-icon-vercode",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
project, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "项目管理",
|
||||
DisplayName: "项目管理",
|
||||
Url: "/project/list",
|
||||
Type: "menu",
|
||||
ParentID: pro.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "新增",
|
||||
DisplayName: "新增",
|
||||
Url: "/project/add",
|
||||
Type: "btn",
|
||||
ParentID: project.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
|
||||
Avatar: "layui-icon layui-icon-add-1",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "编辑",
|
||||
DisplayName: "编辑",
|
||||
Url: "/project/edit",
|
||||
Type: "btn",
|
||||
ParentID: project.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
|
||||
Avatar: "layui-icon layui-icon-edit",
|
||||
Style: "pear-btn-primary pear-btn-xs",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "保存",
|
||||
DisplayName: "保存",
|
||||
Url: "/project/save",
|
||||
Type: "btn",
|
||||
ParentID: project.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "xmselect",
|
||||
DisplayName: "xmselect",
|
||||
Url: "/project/xmselect",
|
||||
Type: "btn",
|
||||
ParentID: project.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
budget, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "项目预算",
|
||||
DisplayName: "项目预算",
|
||||
Url: "/budget/list",
|
||||
Type: "menu",
|
||||
ParentID: pro.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "新增",
|
||||
DisplayName: "新增",
|
||||
Url: "/budget/add",
|
||||
Type: "btn",
|
||||
ParentID: budget.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
|
||||
Avatar: "layui-icon layui-icon-add-1",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "编辑",
|
||||
DisplayName: "编辑",
|
||||
Url: "/budget/edit",
|
||||
Type: "btn",
|
||||
ParentID: budget.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
|
||||
Avatar: "layui-icon layui-icon-edit",
|
||||
Style: "pear-btn-primary pear-btn-xs",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "保存",
|
||||
DisplayName: "保存",
|
||||
Url: "/budget/save",
|
||||
Type: "btn",
|
||||
ParentID: budget.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
projectDashboard, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "项目统计看板",
|
||||
DisplayName: "项目统计看板",
|
||||
Url: "/project/dashboard",
|
||||
Type: "menu",
|
||||
ParentID: pro.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
log.Println(projectDashboard)
|
||||
|
||||
in, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "应收管理",
|
||||
DisplayName: "应收管理",
|
||||
Url: uuid.Must(uuid.NewRandom()).String(),
|
||||
Type: "node",
|
||||
ParentID: erp.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
|
||||
Avatar: "layui-icon layui-icon-vercode",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
customer, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "客户管理",
|
||||
DisplayName: "客户管理",
|
||||
Url: "/customer/list",
|
||||
Type: "menu",
|
||||
ParentID: in.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", in.ParentPath, in.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "新增",
|
||||
DisplayName: "新增",
|
||||
Url: "/customer/add",
|
||||
Type: "btn",
|
||||
ParentID: customer.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
|
||||
Avatar: "layui-icon layui-icon-add-1",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "编辑",
|
||||
DisplayName: "编辑",
|
||||
Url: "/customer/edit",
|
||||
Type: "btn",
|
||||
ParentID: customer.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
|
||||
Avatar: "layui-icon layui-icon-edit",
|
||||
Style: "pear-btn-primary pear-btn-xs",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "保存",
|
||||
DisplayName: "保存",
|
||||
Url: "/customer/save",
|
||||
Type: "btn",
|
||||
ParentID: customer.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "xmselect",
|
||||
DisplayName: "xmselect",
|
||||
Url: "/customer/xmselect",
|
||||
Type: "btn",
|
||||
ParentID: customer.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
income, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "回款单",
|
||||
DisplayName: "回款单",
|
||||
Url: "/income/list",
|
||||
Type: "menu",
|
||||
ParentID: in.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", in.ParentPath, in.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "新增",
|
||||
DisplayName: "新增",
|
||||
Url: "/income/add",
|
||||
Type: "btn",
|
||||
ParentID: income.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
|
||||
Avatar: "layui-icon layui-icon-add-1",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "编辑",
|
||||
DisplayName: "编辑",
|
||||
Url: "/income/edit",
|
||||
Type: "btn",
|
||||
ParentID: income.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
|
||||
Avatar: "layui-icon layui-icon-edit",
|
||||
Style: "pear-btn-primary pear-btn-xs",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "保存",
|
||||
DisplayName: "保存",
|
||||
Url: "/income/save",
|
||||
Type: "btn",
|
||||
ParentID: income.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cost, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "费用管理",
|
||||
DisplayName: "费用管理",
|
||||
Url: uuid.Must(uuid.NewRandom()).String(),
|
||||
Type: "node",
|
||||
ParentID: erp.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
|
||||
Avatar: "layui-icon layui-icon-vercode",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
expense, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "费用报销单",
|
||||
DisplayName: "费用报销单",
|
||||
Url: "/expense/list",
|
||||
Type: "menu",
|
||||
ParentID: cost.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", cost.ParentPath, cost.ID),
|
||||
Avatar: "",
|
||||
Style: "",
|
||||
Visible: true,
|
||||
IsList: true,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "新增",
|
||||
DisplayName: "新增",
|
||||
Url: "/expense/add",
|
||||
Type: "btn",
|
||||
ParentID: expense.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
|
||||
Avatar: "layui-icon layui-icon-add-1",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "编辑",
|
||||
DisplayName: "编辑",
|
||||
Url: "/expense/edit",
|
||||
Type: "btn",
|
||||
ParentID: expense.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
|
||||
Avatar: "layui-icon layui-icon-edit",
|
||||
Style: "pear-btn-primary pear-btn-xs",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
|
||||
Name: "保存",
|
||||
DisplayName: "保存",
|
||||
Url: "/expense/save",
|
||||
Type: "btn",
|
||||
ParentID: expense.ID,
|
||||
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
|
||||
Avatar: "layui-icon layui-icon-ok",
|
||||
Style: "pear-btn-primary pear-btn-sm",
|
||||
Visible: true,
|
||||
IsList: false,
|
||||
Status: 0,
|
||||
Sort: 6666,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
1042
internal/db/init/menus/system.go
Normal file
1042
internal/db/init/menus/system.go
Normal file
File diff suppressed because it is too large
Load Diff
38
internal/db/init/role.go
Normal file
38
internal/db/init/role.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
)
|
||||
|
||||
func initRole() (*db.SysRole, error) {
|
||||
arg := db.CreateSysRoleParams{
|
||||
Name: "Company",
|
||||
DisplayName: "公司",
|
||||
Vip: false,
|
||||
ParentID: 0,
|
||||
ParentPath: ",0,",
|
||||
Status: 0,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
role, err := db.Engine.CreateSysRole(context.Background(), &arg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
arg = db.CreateSysRoleParams{
|
||||
Name: "SuperAdmin",
|
||||
DisplayName: "超级管理员",
|
||||
Vip: true,
|
||||
ParentID: role.ID,
|
||||
ParentPath: fmt.Sprintf(",0,%d,", role.ID),
|
||||
Status: 0,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
return db.Engine.CreateSysRole(context.Background(), &arg)
|
||||
}
|
||||
46
internal/db/init/user.go
Normal file
46
internal/db/init/user.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/pkg/crypto"
|
||||
"management/internal/pkg/rand"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func initUser(departID int32, roleID int32) (*db.SysUser, error) {
|
||||
salt, err := rand.String(10)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
password := "secret"
|
||||
hashedPassword, err := crypto.BcryptHashPassword(password + salt)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
initTime, err := time.ParseInLocation(time.DateTime, "0001-01-01 00:00:00", time.Local)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
arg := db.CreateSysUserParams{
|
||||
Uuid: uuid.Must(uuid.NewV7()),
|
||||
Email: "1185230223@qq.com",
|
||||
Username: "kenneth",
|
||||
HashedPassword: hashedPassword,
|
||||
Salt: salt,
|
||||
Avatar: "/statics/admin/images/avatar.jpg",
|
||||
Gender: 1,
|
||||
DepartmentID: departID,
|
||||
RoleID: roleID,
|
||||
Status: 0,
|
||||
ChangePasswordAt: initTime,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
return db.Engine.CreateSysUser(context.Background(), &arg)
|
||||
}
|
||||
Reference in New Issue
Block a user