12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package service
- import (
- "context"
- "go-common/app/admin/ep/melloi/model"
- "go-common/library/log"
- )
- // QueryDependServiceAdmins query depend Service admin
- func (s *Service) QueryDependServiceAdmins(c context.Context, serviceName string, sessionValue string) (map[string][]string, error) {
- var (
- biliPrex = "bilibili."
- err error
- roles []*model.TreeRole
- dependService []string
- olesMap = make(map[string][]string)
- )
- if dependService, err = s.dao.QueryServiceDepend(c, serviceName); err != nil {
- log.Error("query service depend error(%v)", err)
- return nil, err
- }
- dependService = append(dependService, serviceName)
- for _, service := range dependService {
- var userService []string
- if roles, err = s.QueryTreeAdmin(c, biliPrex+service, sessionValue); err != nil {
- log.Warn("query tree admin of service (%s) depend error (%v)", biliPrex+service, err)
- continue
- }
- for _, role := range roles {
- // 增加多个service
- userService = append(olesMap[role.UserName], biliPrex+service)
- olesMap[role.UserName] = userService
- }
- }
- return olesMap, err
- }
|