From 86fb152b505a7ef6a99f20f87a71b3e773ba3b98 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 16 Apr 2021 11:12:52 +0800 Subject: [PATCH] 通过父菜单查询子菜单 --- screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java | 4 + screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java | 26 ++++++++ screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java | 67 ++++++++++++++++++++- screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java | 2 screen-manage/src/main/resources/mapper/ManageMenuMapper.xml | 29 ++++++++- 5 files changed, 118 insertions(+), 10 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java index fc71ae0..c4f87db 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java @@ -131,7 +131,7 @@ resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); return ResultMessage.fail(resultMap); } - List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters); + List<Map<String,Object>> re = manageMenuService.getManageMenuByNameFuzzy(parameters); return ResultMessage.ok(re); } @@ -157,4 +157,28 @@ List<Map<String,Object>> result = manageMenuService.getAllWithPagingQuery(parameters); return ResultMessage.ok(result); } + + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "parent_id", value = "���������id", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "size", value = "������������", required = true, paramType = "query", dataType = "int") + }) + @RequestMapping(value = "getManageMenuByParentId", method = RequestMethod.GET) + public ResultMessage getManageMenuByParentId(HttpServletRequest request) { + Map<String,Object> parameters = getParametersStartingWith(request,null); + Map<String,Object> resultMap = new HashMap<>(); + if (parameters.get("parent_id") == null || parameters.get("current") == null || parameters.get("size") == null){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + return ResultMessage.fail(resultMap); + } + if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); + return ResultMessage.fail(resultMap); + } + List<Map<String,Object>> re = manageMenuService.getManageMenuByParentId(parameters); + return ResultMessage.ok(re); + } } diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java index ebacfb4..5d9b771 100644 --- a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java +++ b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java @@ -34,6 +34,8 @@ List<ManageMenu> getManageRoleByNameFuzzy(Map map); + List<ManageMenu> getManageMenuByCondition(Map map); + List<ManageMenu> getManageMenuByRoleId(int roleId); } diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java index 2a7f7a5..4c08837 100644 --- a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java +++ b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java @@ -34,7 +34,9 @@ List getManageMenuByRoleId(int roleId); - List<ManageMenu> getManageMenuByNameFuzzy(Map map); + List<Map<String,Object>> getManageMenuByNameFuzzy(Map map); + + List<Map<String,Object>> getManageMenuByParentId(Map map); List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles); } 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..e64de85 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 @@ -61,7 +61,7 @@ resultMap.put("code", ResponseCodeEnum.MENU_IS_EXPIRE.getCode()); resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXPIRE.getMsg()); } else { - //manageMenuMapper.insertOne(manageMenu); + manageMenuMapper.insertOne(manageMenu); //������������������ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "������������:"+manageMenu.getName()+";"; @@ -161,8 +161,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 +215,65 @@ } @Override - public List<ManageMenu> getManageMenuByNameFuzzy(Map map) { + public List<Map<String,Object>> getManageMenuByNameFuzzy(Map map) { Map limitMap = new HashMap(); limitMap.put("name", map.get("name")); 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; + 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<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 diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml index 1d85053..826e422 100644 --- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml +++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml @@ -67,7 +67,7 @@ <if test="icon != null"> icon, </if> - <if test="parent_id != null"> + <if test="parentId != null"> parent_id, </if> <if test="order != null"> @@ -84,8 +84,8 @@ <if test="icon != null"> #{icon}, </if> - <if test="parent_id != null"> - #{parent_id}, + <if test="parentId != null"> + #{parentId}, </if> <if test="order != null"> #{order}, @@ -154,4 +154,27 @@ WHERE mm.is_delete = 0 </select> + <select id="getManageMenuByCondition" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"></include> + from manage_menu mm + where mm.is_delete = 0 + <if test="name != null"> + and mm.name = #{name} + </if> + <if test="url != null"> + and mm.url = #{url} + </if> + <if test="icon != null"> + and mm.icon = #{icon} + </if> + <if test="parent_id != null"> + and mm.parent_id = #{parent_id} + </if> + <if test="order != null"> + and mm.order = #{order} + </if> + limit #{start},#{number} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0