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