830 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			830 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package menu
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"fmt"
 | |
| 	"time"
 | |
| 
 | |
| 	"management/internal/erpserver/model/system"
 | |
| 
 | |
| 	"github.com/google/uuid"
 | |
| )
 | |
| 
 | |
| func (s *store) Initialize(ctx context.Context) error {
 | |
| 	count, err := s.Count(ctx)
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	if count > 0 {
 | |
| 		return nil
 | |
| 	}
 | |
| 
 | |
| 	sys, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "系统管理",
 | |
| 		DisplayName: "系统管理",
 | |
| 		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
 | |
| 	}
 | |
| 
 | |
| 	accountPermission, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "账户权限",
 | |
| 		DisplayName: "账户权限",
 | |
| 		Url:         uuid.Must(uuid.NewRandom()).String(),
 | |
| 		Type:        "node",
 | |
| 		ParentID:    sys.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", sys.ParentPath, sys.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
 | |
| 	}
 | |
| 
 | |
| 	systemMenu, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "菜单管理",
 | |
| 		DisplayName: "菜单管理",
 | |
| 		Url:         "/system/menu/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	systemRole, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "角色管理",
 | |
| 		DisplayName: "角色管理",
 | |
| 		Url:         "/system/role/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	systemDepartment, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "部门管理",
 | |
| 		DisplayName: "部门管理",
 | |
| 		Url:         "/system/department/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	systemUser, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "用户管理",
 | |
| 		DisplayName: "用户管理",
 | |
| 		Url:         "/system/user/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "登陆日志",
 | |
| 		DisplayName: "登陆日志",
 | |
| 		Url:         "/system/login_log/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "审计日志",
 | |
| 		DisplayName: "审计日志",
 | |
| 		Url:         "/system/audit_log/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    accountPermission.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", accountPermission.ParentPath, accountPermission.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	// 菜单
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增",
 | |
| 		DisplayName: "新增",
 | |
| 		Url:         "/system/menu/add",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增子菜单",
 | |
| 		DisplayName: "新增子菜单",
 | |
| 		Url:         "/system/menu/add_children",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-add-1",
 | |
| 		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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "编辑",
 | |
| 		DisplayName: "编辑",
 | |
| 		Url:         "/system/menu/edit",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "保存",
 | |
| 		DisplayName: "保存",
 | |
| 		Url:         "/system/menu/save",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "数据",
 | |
| 		DisplayName: "数据",
 | |
| 		Url:         "/system/menu/data",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "刷新",
 | |
| 		DisplayName: "刷新",
 | |
| 		Url:         "/system/menu/refresh_cache",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemMenu.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemMenu.ParentPath, systemMenu.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	// 角色
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增",
 | |
| 		DisplayName: "新增",
 | |
| 		Url:         "/system/role/add",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "编辑",
 | |
| 		DisplayName: "编辑",
 | |
| 		Url:         "/system/role/edit",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "保存",
 | |
| 		DisplayName: "保存",
 | |
| 		Url:         "/system/role/save",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "数据",
 | |
| 		DisplayName: "数据",
 | |
| 		Url:         "/system/role/data",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "刷新",
 | |
| 		DisplayName: "刷新",
 | |
| 		Url:         "/system/role/refresh_cache",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "重建父路径",
 | |
| 		DisplayName: "重建父路径",
 | |
| 		Url:         "/system/role/rebuild_parent_path",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-danger pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "权限刷新",
 | |
| 		DisplayName: "权限刷新",
 | |
| 		Url:         "/system/role/refresh_role_menus",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-xs",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "设置权限",
 | |
| 		DisplayName: "设置权限",
 | |
| 		Url:         "/system/role/set_menu",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemRole.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-set",
 | |
| 		Style:       "pear-btn-danger pear-btn-xs",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	// 部门
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增",
 | |
| 		DisplayName: "新增",
 | |
| 		Url:         "/system/department/add",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增子部门",
 | |
| 		DisplayName: "新增子部门",
 | |
| 		Url:         "/system/department/add_children",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-add-1",
 | |
| 		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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "编辑",
 | |
| 		DisplayName: "编辑",
 | |
| 		Url:         "/system/department/edit",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "保存",
 | |
| 		DisplayName: "保存",
 | |
| 		Url:         "/system/department/save",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "数据",
 | |
| 		DisplayName: "数据",
 | |
| 		Url:         "/system/department/data",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "刷新",
 | |
| 		DisplayName: "刷新",
 | |
| 		Url:         "/system/department/refresh_cache",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "重建父路径",
 | |
| 		DisplayName: "重建父路径",
 | |
| 		Url:         "/system/department/rebuild_parent_path",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemDepartment.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-danger pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	// 用户
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增",
 | |
| 		DisplayName: "新增",
 | |
| 		Url:         "/system/user/add",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemUser.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemUser.ParentPath, systemUser.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "编辑",
 | |
| 		DisplayName: "编辑",
 | |
| 		Url:         "/system/user/edit",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemUser.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemUser.ParentPath, systemUser.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "基本资料",
 | |
| 		DisplayName: "基本资料",
 | |
| 		Url:         "/system/user/profile",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemUser.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemUser.ParentPath, systemUser.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "保存",
 | |
| 		DisplayName: "保存",
 | |
| 		Url:         "/system/user/save",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemUser.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemUser.ParentPath, systemUser.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
 | |
| 	}
 | |
| 
 | |
| 	// 基础数据
 | |
| 	basicData, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "基础数据",
 | |
| 		DisplayName: "基础数据",
 | |
| 		Url:         uuid.Must(uuid.NewRandom()).String(),
 | |
| 		Type:        "node",
 | |
| 		ParentID:    sys.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", sys.ParentPath, sys.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
 | |
| 	}
 | |
| 
 | |
| 	// 系统配置
 | |
| 	systemConfig, err := s.Create(ctx, &system.Menu{
 | |
| 		Name:        "系统属性",
 | |
| 		DisplayName: "系统属性",
 | |
| 		Url:         "/system/config/list",
 | |
| 		Type:        "menu",
 | |
| 		ParentID:    basicData.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", basicData.ParentPath, basicData.ID),
 | |
| 		Avatar:      "",
 | |
| 		Style:       "",
 | |
| 		Visible:     true,
 | |
| 		IsList:      true,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "新增",
 | |
| 		DisplayName: "新增",
 | |
| 		Url:         "/system/config/add",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemConfig.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "编辑",
 | |
| 		DisplayName: "编辑",
 | |
| 		Url:         "/system/config/edit",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemConfig.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "保存",
 | |
| 		DisplayName: "保存",
 | |
| 		Url:         "/system/config/save",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemConfig.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.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 = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "重置Pear",
 | |
| 		DisplayName: "重置Pear",
 | |
| 		Url:         "/system/config/reset_pear",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemConfig.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-danger pear-btn-sm",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = s.Create(ctx, &system.Menu{
 | |
| 		Name:        "刷新",
 | |
| 		DisplayName: "刷新",
 | |
| 		Url:         "/system/config/refresh_cache",
 | |
| 		Type:        "btn",
 | |
| 		ParentID:    systemConfig.ID,
 | |
| 		ParentPath:  fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.ID),
 | |
| 		Avatar:      "layui-icon layui-icon-refresh",
 | |
| 		Style:       "pear-btn-xs",
 | |
| 		Visible:     true,
 | |
| 		IsList:      false,
 | |
| 		Status:      0,
 | |
| 		Sort:        6666,
 | |
| 		CreatedAt:   time.Now(),
 | |
| 		UpdatedAt:   time.Now(),
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 	return nil
 | |
| }
 |