From a489b023d9ca2a24dfe82d05f19cac8718aa5c13 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 15 Apr 2021 11:38:09 +0800 Subject: [PATCH] 添加查询菜单列表功能 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 80 insertions(+), 2 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 7d18186..f665091 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 @@ -8,13 +8,18 @@ import com.moral.api.mapper.ManageRoleMenuMapper; import com.moral.api.service.ManageMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; +import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -38,6 +43,9 @@ @Autowired(required = false) private ManageRoleMenuMapper manageRoleMenuMapper; + @Autowired + LogUtils logUtils; + @Override @Transactional public Map<String, Object> insertManageMenu(ManageMenu manageMenu) { @@ -51,7 +59,11 @@ 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()+";"; + logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -71,7 +83,30 @@ resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); } else { + //��������������������������������������� + ManageMenu manageMenuOld = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); manageMenuMapper.updateManageMenuById(map); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "���������������:"+manageMenuOld.getName()+";"; + for (Object key:map.keySet()) { + if (key.toString().equals("name")){ + content = content+"���������:"+manageMenuOld.getName()+"->"+map.get(key)+";"; + } + if (key.toString().equals("url")){ + content = content+"url������:"+manageMenuOld.getUrl()+"->"+map.get(key)+";"; + } + if (key.toString().equals("icon")){ + content = content+"������������:"+manageMenuOld.getIcon()+"->"+map.get(key)+";"; + } + if (key.toString().equals("parent_id")){ + content = content+"���������:"+manageMenuMapper.getManageMenuById(manageMenuOld.getId()).getName()+"->"+manageMenuMapper.getManageMenuById(Integer.parseInt(map.get(key).toString())).getName()+";"; + } + if (key.toString().equals("order")){ + content = content+"������������������������:"+manageMenuOld.getOrder()+"->"+map.get(key)+";"; + } + } + logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -99,6 +134,11 @@ Map role_menuDeleteMap = new HashMap(); role_menuDeleteMap.put("menu_id", id); manageRoleMenuMapper.updateDeleteStateByMenu_id(role_menuDeleteMap); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + ManageMenu manageMenuDelete = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); + String content = "������������:"+manageMenuDelete.getName()+";"; + logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -111,8 +151,43 @@ 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.getDataWithPage(limitMap); - System.out.println(manageMenus); return manageMenus; + } + + @Override + public List<ManageMenu> getAllMenus() { + List<ManageMenu> allMenus = manageMenuMapper.getAll(); + if(ObjectUtils.isEmpty(allMenus)) + return null; + Map<Integer, ManageMenu> menusMap = new HashMap<>(); + for (ManageMenu menu : allMenus) { + menu.setChildren(new ArrayList<>());//��������� + menusMap.put(menu.getId(), menu); + } + for (ManageMenu menu : allMenus) { + combinationParentChildrenMenus(menusMap, menu); + } + + //������������������������������������parentId������0������������������������ + allMenus.removeIf(new Predicate<ManageMenu>() { + @Override + public boolean test(ManageMenu manageMenu) { + if(manageMenu.getParentId().equals(0)) + return false; + return true; + } + }); + return allMenus; + } + + @Override + public List getManageMenuByRoleId(int roleId) { + List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); + List menuIdList = new ArrayList(); + for (ManageMenu manageMenu:manageMenus) { + menuIdList.add(manageMenu.getId()); + } + return menuIdList; } @Override @@ -128,6 +203,8 @@ @Override public List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles) { List<ManageMenu> allMenus = manageMenuMapper.getAllMenusByRoles(roles); + if(ObjectUtils.isEmpty(allMenus)) + return null; Map<Integer, ManageMenu> menusMap = new HashMap<>(); for (ManageMenu menu : allMenus) { menu.setChildren(new ArrayList<>());//��������� @@ -136,6 +213,7 @@ for (ManageMenu menu : allMenus) { combinationParentChildrenMenus(menusMap, menu); } + //������������������������������������parentId������0������������������������ allMenus.removeIf(new Predicate<ManageMenu>() { @Override -- Gitblit v1.8.0