k94314517
2025-05-19 16e8c7adbee6c9ee9bac09a80d44d3bfd3fe2f0c
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);
            }
        }