From 8932133e2ee2e5708e3506bee3d01d59bff5f1d2 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期日, 12 一月 2025 11:30:52 +0800
Subject: [PATCH] bug
---
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