You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
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 |
|
}
|
|
|