1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package backend
- import (
- "context"
- "kpt-pasture/model"
- operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
- "gitee.com/xuyiping_admin/pkg/logger/zaplog"
- "gitee.com/xuyiping_admin/pkg/xerr"
- "go.uber.org/zap"
- )
- type SystemAllPermissionsList struct {
- MenuList []*model.SystemRoleMenu
- }
- // SystemUserMenuPermissionsUnDuplicate 角色权限去重
- func (s *SystemAllPermissionsList) SystemUserMenuPermissionsUnDuplicate() {
- newMenuList := make([]*model.SystemRoleMenu, 0)
- seen := make(map[int64]bool)
- for _, menu := range s.MenuList {
- if _, ok := seen[menu.MenuId]; !ok {
- newMenuList = append(newMenuList, menu)
- }
- }
- s.MenuList = newMenuList
- }
- // GetSystemRoleMenuList 获取角色相关菜单
- func (s *StoreEntry) GetSystemRoleMenuList(ctx context.Context, roleId int64) []*model.SystemRoleMenu {
- menuList := make([]*model.SystemRoleMenu, 0)
- if err := s.DB.Where("role_id = ?", roleId).Find(&menuList).Error; err != nil {
- zaplog.Error("GetSystemRoleMenuList", zap.Any("Err", err))
- }
- return menuList
- }
- // GetMenuList 获取******
- func (s *StoreEntry) GetMenuList(ctx context.Context, req []*model.SystemRoleMenu) ([]*model.SystemMenu, error) {
- ids := make([]int64, 0)
- for _, v := range req {
- ids = append(ids, v.MenuId)
- }
- menuList := make([]*model.SystemMenu, 0)
- if len(ids) > 0 {
- if err := s.DB.Where("is_show = ?", operationPb.IsShow_OK).Find(&menuList, ids).Error; err != nil {
- return nil, xerr.WithStack(err)
- }
- }
- return menuList, nil
- }
|