【修改查询路径逻辑。超级管理员全部返回】
This commit is contained in:
parent
f5a2106634
commit
d5b5a221df
@ -185,9 +185,19 @@ func QueryAuthApiPath(id int32) *model.AuthAPIPath {
|
|||||||
|
|
||||||
// 根据角色ID查询路径信息
|
// 根据角色ID查询路径信息
|
||||||
func QueryAuthApiPathByRids(rids []int32) []*model.AuthAPIPath {
|
func QueryAuthApiPathByRids(rids []int32) []*model.AuthAPIPath {
|
||||||
if len(rids) == 0 {
|
rn := len(rids)
|
||||||
|
if rn == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
// 判断是否是超级管理
|
||||||
|
isAdmin := false
|
||||||
|
for i := 0; i < rn && !isAdmin; i++ {
|
||||||
|
isAdmin = rids[i] == int32(dto.ADMIN)
|
||||||
|
}
|
||||||
|
if isAdmin { // 超级管理员查询所有路径
|
||||||
|
apiPaths, _ := dbquery.AuthAPIPath.Find()
|
||||||
|
return apiPaths
|
||||||
|
}
|
||||||
linkPids, err2 := dbquery.AuthRoleAPIPath.Distinct(dbquery.AuthRoleAPIPath.Pid).Where(dbquery.AuthRoleAPIPath.Rid.In(rids...)).Find()
|
linkPids, err2 := dbquery.AuthRoleAPIPath.Distinct(dbquery.AuthRoleAPIPath.Pid).Where(dbquery.AuthRoleAPIPath.Rid.In(rids...)).Find()
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
panic(dto.ErrorDto{Code: dto.DataOperationError, Message: err2.Error()})
|
panic(dto.ErrorDto{Code: dto.DataOperationError, Message: err2.Error()})
|
||||||
|
Loading…
Reference in New Issue
Block a user