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/ManageMenuService.java | 4 ++ screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java | 15 ++++--- screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java | 70 ++++++++++++++++++++++++++++++++++- screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java | 1 screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java | 2 + screen-manage/src/main/resources/mapper/ManageMenuMapper.xml | 26 +++++++++++++ 6 files changed, 110 insertions(+), 8 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 ebe54ef..3b8b6ac 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 @@ -121,17 +121,12 @@ public ResultMessage getManageMenuByNameFuzzy(HttpServletRequest request) { Map<String,Object> parameters = getParametersStartingWith(request,null); Map<String,Object> resultMap = new HashMap<>(); - if (parameters.get("name") == 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.getManageMenuByNameFuzzy(parameters); + Map<String,Object> re = manageMenuService.getManageMenuByCondition(parameters); return ResultMessage.ok(re); } @@ -192,4 +187,12 @@ List<ManageMenu> result = manageMenuService.getManageChildMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString())); return ResultMessage.ok(result); } + + @ApiOperation(value = "���������������������", notes = "���������������������") + @RequestMapping(value = "getManageParentMenu", method = RequestMethod.GET) + public ResultMessage getManageParentMenu(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + Map<String,Object> result = manageMenuService.getManageParentMenu(parameters); + return ResultMessage.ok(result); + } } diff --git a/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java b/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java index 7e888f6..522ee7e 100644 --- a/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java +++ b/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java @@ -57,6 +57,7 @@ /** * ��������������������������� */ + @TableField(value = "`order`") private Integer order; /** 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 5d9b771..2258c82 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> getManageMenuByNameFuzzy(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 d8e1711..5c67807 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 @@ -38,6 +38,10 @@ List<Map<String,Object>> getManageMenuByNameFuzzy(Map map); + Map<String,Object> getManageMenuByCondition(Map map); + + Map<String,Object> getManageParentMenu(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 fb8a118..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 @@ -242,10 +242,15 @@ @Override public List<Map<String,Object>> getManageMenuByNameFuzzy(Map map) { Map limitMap = new HashMap(); - limitMap.put("name", map.get("name")); + 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); + 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) { @@ -271,6 +276,67 @@ } @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")); diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml index 64a0bd7..fecfa44 100644 --- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml +++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml @@ -190,4 +190,30 @@ limit #{start},#{number} </select> + <select id="getManageMenuByNameFuzzy" parameterType="java.util.Map" 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 like concat('%',#{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> + <if test="desc != null"> + and mm.desc = #{order} + </if> + limit #{start},#{number} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0