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