package com.moral.api.service.impl; 
 | 
  
 | 
import com.alibaba.fastjson.JSON; 
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
 | 
import com.moral.api.entity.ManageMenu; 
 | 
import com.moral.api.entity.ManageRole; 
 | 
import com.moral.api.mapper.ManageMenuMapper; 
 | 
import com.moral.api.mapper.ManageRoleMenuMapper; 
 | 
import com.moral.api.service.ManageMenuService; 
 | 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
 | 
import com.moral.api.util.LogUtils; 
 | 
import com.moral.constant.Constants; 
 | 
import com.moral.constant.ResponseCodeEnum; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.transaction.annotation.Transactional; 
 | 
import org.springframework.util.ObjectUtils; 
 | 
import org.springframework.web.context.request.RequestContextHolder; 
 | 
import org.springframework.web.context.request.ServletRequestAttributes; 
 | 
  
 | 
import javax.annotation.Resource; 
 | 
import javax.servlet.http.HttpServletRequest; 
 | 
import java.text.SimpleDateFormat; 
 | 
import java.util.ArrayList; 
 | 
import java.util.HashMap; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
import java.util.function.Predicate; 
 | 
  
 | 
/** 
 | 
 * <p> 
 | 
 * 后台菜单 服务实现类 
 | 
 * </p> 
 | 
 * 
 | 
 * @author moral 
 | 
 * @since 2021-03-09 
 | 
 */ 
 | 
@Service 
 | 
public class ManageMenuServiceImpl extends ServiceImpl<ManageMenuMapper, ManageMenu> implements ManageMenuService { 
 | 
  
 | 
    @Autowired(required = false) 
 | 
    private ManageMenuMapper manageMenuMapper; 
 | 
  
 | 
    @Autowired(required = false) 
 | 
    private ManageRoleMenuMapper manageRoleMenuMapper; 
 | 
  
 | 
  
 | 
    @Override 
 | 
    @Transactional 
 | 
    public Map<String, Object> insertManageMenu(ManageMenu manageMenu) { 
 | 
        Map<String, Object> resultMap = new HashMap<>(); 
 | 
        if (manageMenu.getName() == null) { 
 | 
            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        if (manageMenuMapper.getManageMenuByName(manageMenu.getName()) != null) { 
 | 
            resultMap.put("code", ResponseCodeEnum.MENU_IS_EXIST.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXIST.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        QueryWrapper<ManageMenu> wrapper_url = new QueryWrapper(); 
 | 
        wrapper_url.eq("url",manageMenu.getUrl()); 
 | 
        wrapper_url.eq("is_delete",Constants.NOT_DELETE); 
 | 
        if (manageMenuMapper.selectCount(wrapper_url) != 0) { 
 | 
            resultMap.put("code", ResponseCodeEnum.URL_IS_EXIST.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.URL_IS_EXIST.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        manageMenuMapper.insertOne(manageMenu); 
 | 
        //操作插入日志 
 | 
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
 | 
        String content = "添加菜单:"+manageMenu.getName()+";"; 
 | 
        LogUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE); 
 | 
        resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); 
 | 
        resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); 
 | 
        return resultMap; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    @Transactional 
 | 
    public Map<String, Object> updateManageMenu(Map map) { 
 | 
        Map<String, Object> resultMap = new HashMap<>(); 
 | 
        if (!map.containsKey("id")) { 
 | 
            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null) { 
 | 
            resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        if (map.get("name")!=null && manageMenuMapper.getManageMenuByName(map.get("name").toString()) != null) { 
 | 
            resultMap.put("code", ResponseCodeEnum.MENU_IS_EXIST.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXIST.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        QueryWrapper<ManageMenu> wrapper_url = new QueryWrapper(); 
 | 
        wrapper_url.eq("url",map.get("url")); 
 | 
        wrapper_url.eq("is_delete",Constants.NOT_DELETE); 
 | 
        if (manageMenuMapper.selectCount(wrapper_url) != 0) { 
 | 
            resultMap.put("code", ResponseCodeEnum.URL_IS_EXIST.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.URL_IS_EXIST.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        //更新之前获取原来的菜单信息 
 | 
        ManageMenu manageMenuOld = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); 
 | 
        manageMenuMapper.updateManageMenuById(map); 
 | 
        //操作插入日志 
 | 
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
 | 
        String content = "修改了菜单:"+manageMenuOld.getName()+";"; 
 | 
        for (Object key:map.keySet()) { 
 | 
            if (key.toString().equals("name")&&map.get(key)!=null){ 
 | 
                content = content+"菜单名:"+manageMenuOld.getName()+"->"+map.get(key)+";"; 
 | 
            } 
 | 
            if (key.toString().equals("url")&&map.get(key)!=null){ 
 | 
                content = content+"url地址:"+manageMenuOld.getUrl()+"->"+map.get(key)+";"; 
 | 
            } 
 | 
            if (key.toString().equals("icon")&&map.get(key)!=null){ 
 | 
                content = content+"图标地址:"+manageMenuOld.getIcon()+"->"+map.get(key)+";"; 
 | 
            } 
 | 
            if (key.toString().equals("parent_id")&&map.get(key)!=null){ 
 | 
                if (map.get(key).toString().equals("0")){ 
 | 
                    content = content+"父菜单:"+manageMenuMapper.getManageMenuById(manageMenuOld.getId()).getName()+"->0"+";"; 
 | 
                }else if (manageMenuOld.getId().toString().equals("0")){ 
 | 
                    content = content+"父菜单:"+"0->"+manageMenuMapper.getManageMenuById(Integer.parseInt(map.get(key).toString())).getName()+";"; 
 | 
                }else { 
 | 
                    content = content+"父菜单:"+manageMenuMapper.getManageMenuById(manageMenuOld.getId()).getName()+"->"+manageMenuMapper.getManageMenuById(Integer.parseInt(map.get(key).toString())).getName()+";"; 
 | 
                } 
 | 
            } 
 | 
            if (key.toString().equals("order")&&map.get(key)!=null){ 
 | 
                content = content+"同一级别菜单顺序:"+manageMenuOld.getOrder()+"->"+map.get(key)+";"; 
 | 
            } 
 | 
            if (key.toString().equals("desc")&&map.get(key)!=null){ 
 | 
                content = content+"描述:"+manageMenuOld.getDesc()+"->"+map.get(key)+";"; 
 | 
            } 
 | 
        } 
 | 
        LogUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); 
 | 
        resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); 
 | 
        resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); 
 | 
        return resultMap; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    @Transactional 
 | 
    public Map<String, Object> deleteManageMenu(Map map) { 
 | 
        Map<String, Object> resultMap = new HashMap<>(); 
 | 
        if (!map.containsKey("id")) { 
 | 
            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); 
 | 
            return resultMap; 
 | 
        } 
 | 
        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null) { 
 | 
            resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); 
 | 
        } else { 
 | 
            //删除之前获取数据信息 
 | 
            ManageMenu manageMenuDelete = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); 
 | 
            Map deleteMap = new HashMap(); 
 | 
            int id = Integer.parseInt(map.get("id").toString()); 
 | 
            deleteMap.put("id", id); 
 | 
            deleteMap.put("is_delete", 1); 
 | 
            manageMenuMapper.updateManageMenuById(deleteMap); 
 | 
            Map role_menuDeleteMap = new HashMap(); 
 | 
            role_menuDeleteMap.put("menu_id", id); 
 | 
            manageRoleMenuMapper.updateDeleteStateByMenu_id(role_menuDeleteMap); 
 | 
            //操作插入日志 
 | 
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
 | 
            String content = "删除菜单:"+manageMenuDelete.getName()+";"; 
 | 
            LogUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); 
 | 
            resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); 
 | 
            resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); 
 | 
        } 
 | 
        return resultMap; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<Map<String,Object>> getAllWithPagingQuery(Map map) { 
 | 
        Map limitMap = new HashMap(); 
 | 
        limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); 
 | 
        limitMap.put("number", Integer.parseInt(map.get("size").toString())); 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.getDataWithPage(limitMap); 
 | 
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
        List<Map<String,Object>> resultList = new ArrayList<>(); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); 
 | 
            if (manageMenu.getParentId().equals(0)){ 
 | 
                manegeMenuMap.put("parent_name",""); 
 | 
            }else { 
 | 
                ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); 
 | 
                if (ObjectUtils.isEmpty(parentMenu)){ 
 | 
                    manegeMenuMap.put("parent_name",""); 
 | 
                }else { 
 | 
                    String parent_name = parentMenu.getName(); 
 | 
                    manegeMenuMap.put("parent_name",parent_name); 
 | 
                } 
 | 
            } 
 | 
            String createTime = SDF.format(manageMenu.getCreateTime()); 
 | 
            String updateTime = SDF.format(manageMenu.getUpdateTime()); 
 | 
            manegeMenuMap.put("createTime",createTime); 
 | 
            manegeMenuMap.put("updateTime",updateTime); 
 | 
            resultList.add(manegeMenuMap); 
 | 
        } 
 | 
        return resultList; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<ManageMenu> getAllMenus() { 
 | 
        List<ManageMenu> allMenus = manageMenuMapper.getAll(); 
 | 
        if(ObjectUtils.isEmpty(allMenus)) 
 | 
            return null; 
 | 
        Map<Integer, ManageMenu> menusMap = new HashMap<>(); 
 | 
        for (ManageMenu menu : allMenus) { 
 | 
            menu.setChildren(new ArrayList<>());//初始化 
 | 
            menusMap.put(menu.getId(), menu); 
 | 
        } 
 | 
        for (ManageMenu menu : allMenus) { 
 | 
            combinationParentChildrenMenus(menusMap, menu); 
 | 
        } 
 | 
  
 | 
        //已经封装好父子菜单,去除parentId不是0的菜单,去除重复 
 | 
        allMenus.removeIf(new Predicate<ManageMenu>() { 
 | 
            @Override 
 | 
            public boolean test(ManageMenu manageMenu) { 
 | 
                if(manageMenu.getParentId().equals(0)) 
 | 
                    return false; 
 | 
                return true; 
 | 
            } 
 | 
        }); 
 | 
        return allMenus; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List getManageMenuByRoleId(int roleId) { 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); 
 | 
        List menuIdList = new ArrayList(); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            menuIdList.add(manageMenu.getId()); 
 | 
        } 
 | 
        return menuIdList; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List getManageChildMenuByRoleId(int roleId) { 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); 
 | 
        List menuIdList = new ArrayList(); 
 | 
        Map limitMap = new HashMap(); 
 | 
        limitMap.put("start", 1); 
 | 
        limitMap.put("number", 1); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            limitMap.put("parent_id", manageMenu.getId()); 
 | 
            List result = manageMenuMapper.getManageMenuByCondition(limitMap); 
 | 
            if (result.size()==0){ 
 | 
                menuIdList.add(manageMenu.getId()); 
 | 
            } 
 | 
        } 
 | 
        return menuIdList; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<Map<String,Object>> getManageMenuByNameFuzzy(Map map) { 
 | 
        Map limitMap = new HashMap(); 
 | 
        if(!ObjectUtils.isEmpty(map.get("name"))){ 
 | 
            limitMap.put("name", map.get("name")); 
 | 
        } 
 | 
        if(!ObjectUtils.isEmpty(map.get("parent_id"))){ 
 | 
            limitMap.put("parent_id", map.get("parent_id")); 
 | 
        } 
 | 
        limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); 
 | 
        limitMap.put("number", Integer.parseInt(map.get("size").toString())); 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByNameFuzzy(limitMap); 
 | 
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
        List<Map<String,Object>> resultList = new ArrayList<>(); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); 
 | 
            if (manageMenu.getParentId().equals(0)){ 
 | 
                manegeMenuMap.put("parent_name",""); 
 | 
            }else { 
 | 
                ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); 
 | 
                if (ObjectUtils.isEmpty(parentMenu)){ 
 | 
                    manegeMenuMap.put("parent_name",""); 
 | 
                }else { 
 | 
                    String parent_name = parentMenu.getName(); 
 | 
                    manegeMenuMap.put("parent_name",parent_name); 
 | 
                } 
 | 
            } 
 | 
            String createTime = SDF.format(manageMenu.getCreateTime()); 
 | 
            String updateTime = SDF.format(manageMenu.getUpdateTime()); 
 | 
            manegeMenuMap.put("createTime",createTime); 
 | 
            manegeMenuMap.put("updateTime",updateTime); 
 | 
            resultList.add(manegeMenuMap); 
 | 
        } 
 | 
        return resultList; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public Map<String, Object> getManageMenuByCondition(Map map) { 
 | 
        Map<String,Object> resultMap = new HashMap<>(); 
 | 
        int current = Integer.parseInt(map.get("current").toString()); 
 | 
        int size = Integer.parseInt(map.get("size").toString()); 
 | 
        Page<ManageMenu> page = new Page<>(current,size); 
 | 
        QueryWrapper<ManageMenu> wrapper = new QueryWrapper(); 
 | 
        wrapper.eq("is_delete",Constants.NOT_DELETE); 
 | 
        if(!ObjectUtils.isEmpty(map.get("name"))){ 
 | 
            wrapper.like("name", map.get("name")); 
 | 
        } 
 | 
        if(!ObjectUtils.isEmpty(map.get("parent_id"))){ 
 | 
            wrapper.eq("parent_id", map.get("parent_id")); 
 | 
        } 
 | 
        Page resultpage = manageMenuMapper.selectPage(page,wrapper); 
 | 
        List<ManageMenu> manageMenus = resultpage.getRecords(); 
 | 
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
        List<Map<String,Object>> manageMenuList = new ArrayList<>(); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); 
 | 
            if (manageMenu.getParentId().equals(0)){ 
 | 
                manegeMenuMap.put("parent_name",""); 
 | 
            }else { 
 | 
                ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); 
 | 
                if (ObjectUtils.isEmpty(parentMenu)){ 
 | 
                    manegeMenuMap.put("parent_name",""); 
 | 
                }else { 
 | 
                    String parent_name = parentMenu.getName(); 
 | 
                    manegeMenuMap.put("parent_name",parent_name); 
 | 
                } 
 | 
            } 
 | 
            String createTime = SDF.format(manageMenu.getCreateTime()); 
 | 
            String updateTime = SDF.format(manageMenu.getUpdateTime()); 
 | 
            manegeMenuMap.put("createTime",createTime); 
 | 
            manegeMenuMap.put("updateTime",updateTime); 
 | 
            manageMenuList.add(manegeMenuMap); 
 | 
        } 
 | 
        resultMap.put("manageMenus",manageMenuList); 
 | 
        int totalNumber = manageMenuMapper.selectCount(wrapper); 
 | 
        resultMap.put("totalNumber",totalNumber); 
 | 
        resultMap.put("current",current); 
 | 
        resultMap.put("size",size); 
 | 
        int totalPageNumber = totalNumber/size; 
 | 
        if(totalNumber%size != 0){ 
 | 
            totalPageNumber += 1; 
 | 
        } 
 | 
        resultMap.put("totalPageNumber",totalPageNumber); 
 | 
        return resultMap; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public Map<String, Object> getManageParentMenu(Map map) { 
 | 
        Map<String,Object> resultMap = new HashMap(); 
 | 
        QueryWrapper<ManageMenu> wrapper = new QueryWrapper(); 
 | 
        wrapper.eq("is_delete",Constants.NOT_DELETE); 
 | 
        wrapper.eq("parent_id",0); 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.selectList(wrapper); 
 | 
        resultMap.put("manageMenus",manageMenus); 
 | 
        return resultMap; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<Map<String, Object>> getManageMenuByParentId(Map map) { 
 | 
        Map limitMap = new HashMap(); 
 | 
        limitMap.put("parent_id", map.get("parent_id")); 
 | 
        limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); 
 | 
        limitMap.put("number", Integer.parseInt(map.get("size").toString())); 
 | 
        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByCondition(limitMap); 
 | 
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
        List<Map<String,Object>> resultList = new ArrayList<>(); 
 | 
        for (ManageMenu manageMenu:manageMenus) { 
 | 
            Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); 
 | 
            if (manageMenu.getParentId().equals(0)){ 
 | 
                manegeMenuMap.put("parent_name",""); 
 | 
            }else { 
 | 
                ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); 
 | 
                if (ObjectUtils.isEmpty(parentMenu)){ 
 | 
                    manegeMenuMap.put("parent_name",""); 
 | 
                }else { 
 | 
                    String parent_name = parentMenu.getName(); 
 | 
                    manegeMenuMap.put("parent_name",parent_name); 
 | 
                } 
 | 
            } 
 | 
            String createTime = SDF.format(manageMenu.getCreateTime()); 
 | 
            String updateTime = SDF.format(manageMenu.getUpdateTime()); 
 | 
            manegeMenuMap.put("createTime",createTime); 
 | 
            manegeMenuMap.put("updateTime",updateTime); 
 | 
            resultList.add(manegeMenuMap); 
 | 
        } 
 | 
        return resultList; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles) { 
 | 
        List<ManageMenu> allMenus = manageMenuMapper.getAllMenusByRoles(roles); 
 | 
        if(ObjectUtils.isEmpty(allMenus)) 
 | 
            return null; 
 | 
        Map<Integer, ManageMenu> menusMap = new HashMap<>(); 
 | 
        for (ManageMenu menu : allMenus) { 
 | 
            menu.setChildren(new ArrayList<>());//初始化 
 | 
            menusMap.put(menu.getId(), menu); 
 | 
        } 
 | 
        for (ManageMenu menu : allMenus) { 
 | 
            combinationParentChildrenMenus(menusMap, menu); 
 | 
        } 
 | 
  
 | 
        //已经封装好父子菜单,去除parentId不是0的菜单,去除重复 
 | 
        allMenus.removeIf(new Predicate<ManageMenu>() { 
 | 
            @Override 
 | 
            public boolean test(ManageMenu manageMenu) { 
 | 
                if(manageMenu.getParentId().equals(0)) 
 | 
                    return false; 
 | 
                return true; 
 | 
            } 
 | 
        }); 
 | 
         return allMenus; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * @Description: 组合多级菜单 
 | 
     * @Param: [menuMap, menu]menuMap:key为menuid,value为menu 
 | 
     * @return: void 
 | 
     * @Author: 陈凯裕 
 | 
     * @Date: 2021/4/7 
 | 
     */ 
 | 
    private void combinationParentChildrenMenus(Map<Integer, ManageMenu> menuMap, ManageMenu menu) { 
 | 
        Integer parentId = menu.getParentId(); 
 | 
        ManageMenu parentMenu = menuMap.get(parentId); 
 | 
        if (!ObjectUtils.isEmpty(parentMenu)) { 
 | 
            parentMenu.getChildren().add(menu); 
 | 
        } 
 | 
    } 
 | 
} 
 |