fix multi role invite error

This commit is contained in:
Timi
2026-08-22 11:20:09 +08:00
parent a208947a1b
commit 376f0ecd05
@@ -276,15 +276,10 @@ public class GaoUserInviteServiceImplement implements GaoUserInviteService {
private Role requireInvitableRole(String inviterUserId, String roleId, String storeId) {
Role role = requireValidRole(roleId, storeId);
List<String> directRoleIdList = userRoleService.listRoleByUserId(ModuleCode.GAO, inviterUserId)
.stream()
.map(Role::getId)
.toList();
boolean adminInviteGlobalManager = isCoreAdmin() && isGlobalManagerRole(role);
boolean descendant = adminInviteGlobalManager || (authorizationScopeService.listManageableRole(inviterUserId, ModuleCode.GAO)
boolean descendant = adminInviteGlobalManager || authorizationScopeService.listManageableRole(inviterUserId, ModuleCode.GAO)
.stream()
.anyMatch(item -> role.getId().equals(item.getId()))
&& !directRoleIdList.contains(role.getId()));
.anyMatch(item -> role.getId().equals(item.getId()));
if (!descendant) {
throw new TimiException(TimiCode.PERMISSION_ERROR, "角色不在可邀请范围内");
}