diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/user/user/UserIdentityServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/user/user/UserIdentityServiceImpl.java index 9c0c0f29..5bc86e93 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/user/user/UserIdentityServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/user/user/UserIdentityServiceImpl.java @@ -41,11 +41,12 @@ public class UserIdentityServiceImpl implements UserIdentityService { teamProfileClient.getByMemberId(userId)); Administrator administrator = administratorService.getByUserId(userId); - boolean isAdmin = Optional.of(administrator!= null).orElse(Boolean.FALSE); - boolean isSuperAdmin = Optional.ofNullable(administrator) + boolean isValidAdmin = administrator != null && Boolean.TRUE.equals(administrator.getStatus()); + + boolean isSuperAdmin = isValidAdmin && Optional.of(administrator) .map(e -> RoomRolesEnum.MANAGER.eq(e.getRoles()) || RoomRolesEnum.SUPER_ADMIN.eq(e.getRoles())) .orElse(Boolean.FALSE); - boolean isManager = Optional.ofNullable(administrator) + boolean isManager = isValidAdmin && Optional.of(administrator) .map(e -> RoomRolesEnum.MANAGER.eq(e.getRoles())) .orElse(Boolean.FALSE); @@ -56,10 +57,10 @@ public class UserIdentityServiceImpl implements UserIdentityService { .setFreightAgent(ResponseAssert.requiredSuccess(freightGoldClient.checkFreightAgent(userId))) .setSuperFreightAgent(ResponseAssert.requiredSuccess(freightGoldClient.checkSuperFreightAgent(userId))) .setSuperAdmin(isSuperAdmin) - .setAdmin(isAdmin) + .setAdmin(isValidAdmin) .setBdLeader(ResponseAssert.requiredSuccess(bdTeamLeaderClient.check(userId))) .setManager(isManager) - ; + ; } @Override