2019-04-22 02:59:20 +00:00

44 lines
1.1 KiB
Go

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
}