From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 19 五月 2025 09:45:07 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java index 1c971a7..1f9e5ef 100644 --- a/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java +++ b/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; @Service public class SystemMenuBizImpl implements SystemMenuBiz { @@ -71,6 +72,8 @@ List<SystemMenu> menuPool; if (currentMenu.getParentId() == null) { menuPool = systemMenuService.findRootList(); + //2024骞�11鏈�16鏃�13:51:53 杩囨护鍚岀被鍨嬫暟鎹� + menuPool = menuPool.stream().filter(i->Constants.equalsInteger(i.getType(),currentMenu.getType())).collect(Collectors.toList()); } else { SystemMenu queryDto = new SystemMenu(); queryDto.setParentId(currentMenu.getParentId()); @@ -110,8 +113,12 @@ public List<SystemMenuListVO> findTreeByType(Integer type) { List<SystemMenuListVO> menus = systemMenuService.findList(type); List<SystemMenuListVO> rootMenus = new ArrayList<>(); + if(type.equals(Constants.ONE)){ + menus = menus.stream().filter(m->!m.getDisabled()).collect(Collectors.toList()); + } // 娣诲姞鏍硅彍鍗� for (SystemMenu menu : menus) { + if (menu.getParentId() == null) { SystemMenuListVO rootMenu = new SystemMenuListVO(); BeanUtils.copyProperties(menu, rootMenu, "children"); @@ -133,20 +140,24 @@ List<SystemMenu> menus = new ArrayList<SystemMenu>(); List<SystemMenuNodeVO> rootNodes = new ArrayList<>(); menus = systemMenuService.findByUserId(userId,type); - if(type.equals(Constants.ONE)){ + if(type.equals(Constants.ONE) || type.equals(Constants.TWO)){ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company = companyService.findById(loginUserInfo.getCompanyId()); if(Objects.isNull(company)){ return rootNodes; } - SystemUser systemUser = systemUserService.findById(userId); + SystemUser dbUser = new SystemUser(); + dbUser.setId(loginUserInfo.getId()); + SystemUser systemUser = systemUserService.findOne(dbUser); if(Objects.isNull(systemUser)){ return rootNodes; } - if(company.getUsername().equals(systemUser.getUsername())){ + if(company.getUsername().equals(systemUser.getUsername()) + || (Constants.equalsInteger(type,Constants.ONE) && !Constants.equalsInteger(systemUser.getCompanyId(),company.getId()))){ SystemMenu systemMenu = new SystemMenu(); systemMenu.setType(type); systemMenu.setDeleted(Boolean.FALSE); + systemMenu.setDisabled(Boolean.FALSE); menus = systemMenuService.findList(systemMenu); } } -- Gitblit v1.9.3