From 5bacbb17debde58d6ff2581e4a03a866ca009c02 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Mon, 31 May 2021 15:33:05 +0800 Subject: [PATCH] 菜单接口合并,查询父菜单列表 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 162 insertions(+), 14 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java index 577e189..e5fabb1 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java @@ -58,10 +58,10 @@ return resultMap; } if (manageMenuMapper.getManageMenuByName(manageMenu.getName()) != null) { - resultMap.put("code", ResponseCodeEnum.MENU_IS_EXPIRE.getCode()); - resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXPIRE.getMsg()); + resultMap.put("code", ResponseCodeEnum.MENU_IS_EXIST.getCode()); + resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXIST.getMsg()); } else { - //manageMenuMapper.insertOne(manageMenu); + manageMenuMapper.insertOne(manageMenu); //������������������ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "������������:"+manageMenu.getName()+";"; @@ -85,6 +85,11 @@ resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); } else { + 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; + } //��������������������������������������� ManageMenu manageMenuOld = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); manageMenuMapper.updateManageMenuById(map); @@ -92,20 +97,23 @@ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "���������������:"+manageMenuOld.getName()+";"; for (Object key:map.keySet()) { - if (key.toString().equals("name")){ + if (key.toString().equals("name")&&map.get(key)!=null){ content = content+"���������:"+manageMenuOld.getName()+"->"+map.get(key)+";"; } - if (key.toString().equals("url")){ + if (key.toString().equals("url")&&map.get(key)!=null){ content = content+"url������:"+manageMenuOld.getUrl()+"->"+map.get(key)+";"; } - if (key.toString().equals("icon")){ + if (key.toString().equals("icon")&&map.get(key)!=null){ content = content+"������������:"+manageMenuOld.getIcon()+"->"+map.get(key)+";"; } - if (key.toString().equals("parent_id")){ + if (key.toString().equals("parent_id")&&map.get(key)!=null){ content = content+"���������:"+manageMenuMapper.getManageMenuById(manageMenuOld.getId()).getName()+"->"+manageMenuMapper.getManageMenuById(Integer.parseInt(map.get(key).toString())).getName()+";"; } - if (key.toString().equals("order")){ + 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); @@ -161,8 +169,13 @@ if (manageMenu.getParentId().equals(0)){ manegeMenuMap.put("parent_name",""); }else { - String parent_name = manageMenuMapper.getManageMenuById(manageMenu.getParentId()).getName(); - manegeMenuMap.put("parent_name",parent_name); + 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()); @@ -210,13 +223,148 @@ } @Override - public List<ManageMenu> getManageMenuByNameFuzzy(Map map) { + public List getManageChildMenuByRoleId(int roleId) { + List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); + List menuIdList = new ArrayList(); Map limitMap = new HashMap(); - limitMap.put("name", map.get("name")); + 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.getManageRoleByNameFuzzy(limitMap); - return manageMenus; + 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 -- Gitblit v1.8.0