12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package service
- import (
- "github.com/druidcaesa/gotool"
- dao2 "ulink-admin/modules/system/dao"
- "ulink-admin/modules/system/models/model"
- )
- type PermissionService struct {
- RoleDao *dao2.RoleDao `inject:""`
- MenuDao *dao2.MenuDao `inject:""`
- }
- // GetRolePermissionByUserId 查询用户角色集合
- func (s PermissionService) GetRolePermissionByUserId(user *model.SysUser) *[]string {
- admin := model.SysUser{}.IsAdmin(user.Id)
- roleKeys := s.RoleDao.GetRolePermissionByUserId(user.Id)
- if admin && roleKeys != nil {
- *roleKeys = append(*roleKeys, "admin")
- }
- duplication := gotool.StrArrayUtils.ArrayDuplication(*roleKeys)
- return &duplication
- }
- // GetMenuPermission 获取菜单数据权限
- func (s PermissionService) GetMenuPermission(user *model.SysUser) *[]string {
- flag := model.SysUser{}.IsAdmin(user.Id)
- //查询菜单数据权限
- permission := s.MenuDao.GetMenuPermission(user.Id)
- if flag && permission != nil {
- *permission = append(*permission, "*:*:*")
- }
- var ret []string
- duplication := gotool.StrArrayUtils.ArrayDuplication(*permission)
- for i := 0; i < len(duplication); i++ {
- if (i > 0 && duplication[i-1] == duplication[i]) || len(duplication[i]) == 0 {
- continue
- }
- ret = append(ret, duplication[i])
- }
- return &ret
- }
- // GetAllPermission 获取菜单数据权限
- func (s PermissionService) GetAllPermission() *[]string {
- //查询菜单数据权限
- permission := s.MenuDao.GetAllPermission()
- return permission
- }
|