diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java index 2a1e3f1b..a6489140 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java @@ -119,7 +119,14 @@ public class AppController extends ControllerBase { */ @GetMapping("getPermissionMenus") public ApiResult> getPermissionMenus() { - VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录"); - return ApiResult.success(adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(),AppUserUtil.getUserId(), "app")); + VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError, "请重新登录"); + if (StrUtil.equals(AppUserUtil.getFrom(), "app") && !AppUserUtil.isPrimary()) { + Integer primaryUserId = appUserService.getPrimaryByChild(AppUserUtil.getUserId()); + List menus = adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(), primaryUserId, "app"); + menus.removeIf(menu -> StrUtil.equals(menu.getComponent(), "identityManagement")); + return ApiResult.success(menus); + } else { + return ApiResult.success(adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(), AppUserUtil.getUserId(), "app")); + } } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java index a9fa674c..a29d9a01 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java @@ -66,4 +66,6 @@ public interface IAppUserService extends IService { List getSimpleAreas(Integer userId); void authorizeRole(@Valid AuthorizeRoleRequest request); + + Integer getPrimaryByChild(Integer userId); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserServiceImpl.java index 861682f4..9a381874 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserServiceImpl.java @@ -305,6 +305,13 @@ public class AppUserServiceImpl extends ServiceImpl impl } } + @Override + public Integer getPrimaryByChild(Integer userId) { + AppUser user=getById(userId); + AppUser primaryUser=getPrimaryByCompanyId(user.getCompanyId()); + return primaryUser.getId(); + } + private void bindChildren1(AreaSimpleVO vo) { List datas = appAreaService.lambdaQuery().eq(AppArea::getParentId, vo.getId()).eq(AppArea::getEnable, true).list(); List vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getName())).collect(Collectors.toList());