From d3718dc2eb7344b63555b7b3a11228464914e95a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 23 Jun 2025 15:03:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=90=86=E5=95=86=E5=AD=90?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E7=9A=84=E8=8F=9C=E5=8D=95=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=B7=9F=E7=9D=80=E4=B8=BB=E8=B4=A6=E5=8F=B7=E8=B5=B0=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E6=8E=92=E9=99=A4=E6=8E=89=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobilebroken/auth/controller/AppController.java | 11 +++++++++-- .../repository/service/IAppUserService.java | 2 ++ .../repository/service/impl/AppUserServiceImpl.java | 7 +++++++ 3 files changed, 18 insertions(+), 2 deletions(-) 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());