This commit is contained in:
2025-06-20 17:13:51 +08:00
parent 1b55403cd6
commit fd0345a034
472 changed files with 52560 additions and 77 deletions

View File

@@ -0,0 +1,53 @@
package service
import (
"context"
"github.com/cool-team-official/cool-admin-go/cool"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/util/gconv"
)
type BaseSysPermsService struct {
}
func NewBaseSysPermsService() *BaseSysPermsService {
return &BaseSysPermsService{}
}
// permmenu 方法
func (c *BaseSysPermsService) Permmenu(ctx context.Context, roleIds []string) (res interface{}) {
type permmenu struct {
Perms []string `json:"perms"`
Menus gdb.Result `json:"menus"`
}
var (
baseSysMenuService = NewBaseSysMenuService()
admin = cool.GetAdmin(ctx)
)
res = &permmenu{
Perms: baseSysMenuService.GetPerms(roleIds),
Menus: baseSysMenuService.GetMenus(admin.RoleIds, admin.UserId == 1),
}
return
}
// refreshPerms(userId)
func (c *BaseSysPermsService) RefreshPerms(ctx context.Context, userId uint) (err error) {
var (
baseSysUserRoleService = NewBaseSysRoleService()
baseSysMenuService = NewBaseSysMenuService()
baseSysDepartmentService = NewBaseSysDepartmentService()
roleIds = baseSysUserRoleService.GetByUser(userId)
perms = baseSysMenuService.GetPerms(roleIds)
)
cool.CacheManager.Set(ctx, "admin:perms:"+gconv.String(userId), perms, 0)
// 更新部门权限
departments := baseSysDepartmentService.GetByRoleIds(roleIds, userId == 1)
cool.CacheManager.Set(ctx, "admin:department:"+gconv.String(userId), departments, 0)
return
}