/
rolemenu.go
43 lines (36 loc) · 1.46 KB
/
rolemenu.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package data
import (
"fmt"
gqaGlobal "github.com/Junvary/gin-quasar-admin/GQA-BACKEND/global"
gqaModel "github.com/Junvary/gin-quasar-admin/GQA-BACKEND/model"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
var PluginAchievementSysRoleMenu = new(sysRoleMenu)
type sysRoleMenu struct{}
func (s *sysRoleMenu) LoadData(c *gin.Context) error {
return gqaGlobal.GqaDb.Table("sys_role_menu").Transaction(func(tx *gorm.DB) error {
var count int64
var menuName []string
for _, v := range sysRoleMenuData {
menuName = append(menuName, v.SysMenuName)
}
tx.Model(&gqaModel.SysRoleMenu{}).Where("sys_menu_name in ?", menuName).Count(&count)
if count != 0 {
fmt.Println("[GQA-plugins] --> sys_role_menu 表中Achievement插件数已存在,跳过初始化数据!数据量:", count)
gqaGlobal.GqaSLogger.Warn("[GQA-plugins] --> sys_role_menu 表中Achievement插件数据已存在,跳过初始化数据!", "has_count", count)
return nil
}
if err := tx.Save(&sysRoleMenuData).Error; err != nil { // 遇到错误时回滚事务
return err
}
fmt.Println("[GQA-plugins] --> Achievement插件初始数据进入 sys_role_menu 表成功!")
gqaGlobal.GqaSLogger.Info("[GQA-plugins] --> Achievement插件初始数据进入 sys_role_menu 表成功!")
return nil
})
}
var sysRoleMenuData = []gqaModel.SysRoleMenu{
{"super-admin", "GqaPluginAchievement"},
{"super-admin", "plugin-achievement-category"},
{"super-admin", "plugin-achievement-obtain"},
}