From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/controller/SysMenuController.java | 175 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 141 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java index 95a9555..4ba1d38 100644 --- a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java +++ b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java @@ -11,13 +11,17 @@ import com.highdatas.mdm.service.*; import com.highdatas.mdm.util.Constant; import com.highdatas.mdm.util.DbUtils; +import com.highdatas.mdm.util.NoticeClient; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import java.util.*; +import java.util.Date; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; import java.util.stream.Collectors; /** @@ -39,8 +43,6 @@ @Autowired ISysFieldService fieldService; @Autowired - IDeletedTableLogService deletedTableLogService; - @Autowired IFlowsService flowsService; @Autowired IMaintainService maintainService; @@ -48,33 +50,58 @@ IMaintainFieldService maintainFieldService; @Autowired IMasterAuthorService masterAuthorService; + @Autowired + NoticeClient noticeClient; - @RequestMapping(value = "/all", method = RequestMethod.GET) + /** + * + * @description: 鑾峰彇鎵�鏈変富棰樺垪琛� + * @return: 涓婚鏁版嵁 + * + */ + @RequestMapping(value = "/all") public Result<List<SysMenu>> getAll() { EntityWrapper<SysMenu> sysMenuEntityWrapper = new EntityWrapper<>(); sysMenuEntityWrapper.orderBy("parent_id, order_no"); return Result.success(menuService.selectList(sysMenuEntityWrapper)) ; } + /** + * + * @description: 鑾峰彇鏈夋潈闄愮殑鎵�鏈変富棰樺垪琛� + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/author/all", method = RequestMethod.GET) public Result<List<SysMenu>> getAllBak(HttpServletRequest request) { + //鑾峰彇鐢ㄦ埛淇℃伅 TUser user = DbUtils.getUser(request); - List<SysMenu> menu = masterAuthorService.getMenu(user.getUserId()); + //鑾峰彇鏉冮檺涓嬬殑涓婚淇℃伅 + List<SysMenu> menu = masterAuthorService.getMenu(user); return Result.success(menu) ; } + /** + * + * @description: 鑾峰彇寰呭鎵规墍鏈変富棰樺垪琛� + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/audit", method = RequestMethod.GET) public Result<List<SysMenu>> audit(HttpServletRequest request) { + //鑾峰彇鐢ㄦ埛淇℃伅 HttpSession session = request.getSession(); TUser user = (TUser) session.getAttribute("user"); String userId = user.getUserId(); + //鑾峰彇姝e湪璺戠殑娴佺▼ List<Flows> flows = flowsService.selectList(new EntityWrapper<Flows>().ne("business_type", ActivitiBusinessType.exists).ne("status", ActivitiStatus.open).ne("status", ActivitiStatus.close)); + //鑾峰彇鐢ㄦ埛鎷ユ湁鏉冮檺瀹℃壒鐨勬祦绋� flows = flows.stream().filter(flow -> flowsService.isNextAudit(flow, userId)).collect(Collectors.toList()); HashSet<String> tableNameSet = new HashSet<>(); List<String> maintainIds = flows.stream().filter(flow -> flow.getBusinessType().equals(ActivitiBusinessType.maintain)).map(Flows::getBusinessId).collect(Collectors.toList()); List<String> maintainFieldIds = flows.stream().filter(flow -> flow.getBusinessType().equals(ActivitiBusinessType.field)).map(Flows::getBusinessId).collect(Collectors.toList()); - +// BY 瀛楁鐗堟湰鍜屾暟鎹増鏈幏鍙栬〃鍚� if (maintainIds.isEmpty() && maintainFieldIds.isEmpty()) { return Result.success(null); } @@ -89,7 +116,7 @@ } tableNameSet.add(tableName); } - maintainIds = maintainIds.stream().filter(s -> masterAuthorService.checkMaintainAuthor(userId,s)).collect(Collectors.toList()); + maintainIds = maintainIds.stream().filter(s -> masterAuthorService.checkMaintainAuthor(user,s)).collect(Collectors.toList()); if (!maintainIds.isEmpty()) { List<Maintain> maintains = maintainService.selectBatchIds(maintainIds); @@ -99,26 +126,32 @@ if (tableNameSet.size() == 0) { return Result.success(null); } + //閫氳繃琛ㄥ悕鑾峰彇涓婚 List<MenuMapping> menuMappingList = menuMappingService.selectList(new EntityWrapper<MenuMapping>().in("table_name", tableNameSet)); List<String> menuIds = menuMappingList.stream().map(MenuMapping::getMenuId).collect(Collectors.toList()); if (menuIds.isEmpty()) { return Result.success(null); } + //閫氳繃涓婚鑾峰彇鐖剁骇涓婚閾� LinkedHashSet<String> parentIdSet = new LinkedHashSet<>(menuIds); - Set<String> byParentId = menuService.getByParentId(parentIdSet); - - if (byParentId == null || byParentId.isEmpty()) { + List<SysMenu> parentList = menuService.getMenuByParentId(parentIdSet); + if (parentList == null) { return Result.success(null); } - List<SysMenu> parentList = menuService.selectBatchIds(byParentId); return Result.success(parentList); } - + /** + * + * @description: 鑾峰彇鎵�鏈夌殑闈炵埗绾т富棰樺垪琛� + * @return: 闈炵埗绾т富棰樻暟鎹� + * + */ @RequestMapping(value = "/list", method = RequestMethod.GET) public Result<List<SysMenu>> getMenuList() { EntityWrapper<SysMenu> sysMenuEntityWrapper = new EntityWrapper<>(); + //鑾峰彇闈炵埗绾т富棰� sysMenuEntityWrapper.eq("menu_type", "DataMenu"); sysMenuEntityWrapper.orderBy("parent_id, order_no"); List<SysMenu> sysMenus = menuService.selectList(sysMenuEntityWrapper); @@ -130,51 +163,81 @@ } String tableName = menuMapping.getTableName(); List<SysField> fieldByTable = fieldService.getFieldByTable(tableName); + //鍒ゆ柇鏄惁鏈夊疄闄呯殑琛ㄥ瓨鍦� if (fieldByTable == null || fieldByTable.size() == 0) { continue; } parentIdSet.add(sysMenu.getId()); } - Set<String> byParentId = menuService.getByParentId(parentIdSet); - List<SysMenu> parentList = menuService.selectBatchIds(byParentId); + List<SysMenu> parentList = menuService.getMenuByParentId(parentIdSet); return Result.success(parentList) ; } - + /** + * + * @description: 鑾峰彇鎵�鏈夌埗绾т富棰樺垪琛� + * @return: 鐖剁骇涓婚鏁版嵁 + * + */ @RequestMapping(value = "/allTheme", method = RequestMethod.GET) public Result<List<SysMenu>> getAllTheme() { EntityWrapper<SysMenu> sysMenuEntityWrapper = new EntityWrapper<>(); + //浠呰幏鍙栫埗绾т富棰樺垪琛� sysMenuEntityWrapper.eq("menu_type",Constant.StructureMenu).orderBy("parent_id desc"); return Result.success(menuService.selectList(sysMenuEntityWrapper)) ; } - + /** + * + * @description: 鍒嗛〉鑾峰彇鎵�鏈変富棰樺垪琛� + * @param pageno 椤垫暟 + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/{pageno}", method = RequestMethod.GET) public Result<Page<SysMenu>> getAll(@PathVariable int pageno, HttpServletRequest request) { + //pageSize 姣忛〉鏁版嵁 String pageSize = request.getParameter("pageSize"); if (StringUtils.isEmpty(pageSize)) { pageSize = "15"; } Integer size = Integer.valueOf(pageSize); Page page = new Page(pageno, size); + //鍒嗛〉鑾峰彇涓婚 Page<SysMenu> menuPage = menuService.selectPage(page); return Result.success(menuPage); } + + /** + * + * @description: 閫氳繃id鑾峰彇涓婚淇℃伅 + * @param id 涓婚id + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) public Result<SysMenu> get(@PathVariable String id) throws Exception { return Result.success(menuService.selectById(id)); } + /** + * + * @description: 娣诲姞涓婚 + * @param name 涓婚鍚嶇О + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/add", method = RequestMethod.GET) public Result<Object> insert(@RequestParam String name, HttpServletRequest request){ + //鍓嶇鑾峰彇涓婚鍙傛暟 String ordernoStr = request.getParameter("orderno"); String parentId = request.getParameter("parentId"); String dataType = request.getParameter("dataType"); String menuType = request.getParameter("menuType"); - Integer orderno = null; + //璁剧疆榛樿椤哄簭 if (StringUtils.isEmpty(ordernoStr)){ orderno = Integer.valueOf("1"); EntityWrapper<SysMenu> menuEntityWrapper = new EntityWrapper<>(); @@ -195,13 +258,14 @@ }else { orderno = Integer.valueOf(ordernoStr); } + //淇濆瓨鏁版嵁 SysMenu menu = new SysMenu(); menu.setName(name); String uuid = DbUtils.getUUID(); menu.setId(uuid); menu.setParentId(parentId); menu.setOrderNo(orderno); - menu.setMenuType(menuType); + menu.setMenuType(menuType).setCreateTime(new Date()); boolean inserted = menuService.insert(menu); if (inserted) { return Result.success(menu); @@ -210,7 +274,14 @@ } } - + /** + * + * @description: 娣诲姞鏁版嵁涓婚 鍘熷厛璁捐浣跨敤 + * @param id 涓婚id + * @param operateCode 鍙傛暟绫诲瀷 + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/add/version", method = RequestMethod.GET) public Result insertAll(@RequestParam String id, @RequestParam String operateCode, HttpServletRequest request) { SysMenu menu = menuService.selectById(id); @@ -244,28 +315,28 @@ }else { orderno = Integer.valueOf(ordernoStr); } - menu = new SysMenu().setId(id).setParentId(parentId).setMenuType(menuType).setName(name).setOrderNo(orderno); + menu = new SysMenu().setCreateTime(new Date()).setId(id).setParentId(parentId).setMenuType(menuType).setName(name).setOrderNo(orderno); menu.insert(); } -// if (menu.getMenuType().equalsIgnoreCase(Constant.DataMenu)) { -// Result<List<SysMenu>> listResult = menuByParentId(id); -// List<SysMenu> data = listResult.getData(); -// long count = data.stream().filter(sysMenu -> sysMenu.getDataType().equals(MaintainDataType.unkonwn)).count(); -// if (count != data.size()) { -// return Result.error(CodeMsg.SELECT_ERROR); -// } -// } - return Result.success(menu); } - + /** + * + * @description: 鏇存柊涓婚淇℃伅 + * @param id 涓婚id + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/update", method = RequestMethod.GET) public Result<Object> update(@RequestParam String id, HttpServletRequest request) { + //鑾峰彇涓婚鏁版嵁 SysMenu menu = menuService.selectById(id); + if (menu == null) { return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND); } + menu.setUpdateTime(new Date()); String ordernoStr = request.getParameter("orderNo"); String parentId = request.getParameter("parentId"); String menuType = request.getParameter("menuType"); @@ -287,6 +358,13 @@ return Result.error(CodeMsg.UPDATE_ERROR); } } + /** + * + * @description: 鎵归噺鍒犻櫎涓婚 + * @param parentId 鐖剁骇涓婚 + * @return: 涓婚鏁版嵁 + * + */ private HashSet<SysMenu> deleteMenuByParentId(List<SysMenu> data, String parentId) { HashSet<SysMenu> resultSet = new HashSet<>(); for (SysMenu menu : data) { @@ -305,24 +383,38 @@ result.addAll(resultSet); return result; } + /** + * + * @description: 閫氳繃id鍒犻櫎涓婚淇℃伅 + * @param menuid 涓婚id + * @return: 涓婚鏁版嵁 + * + */ @RequestMapping(value = "/delete/{menuid}", method = RequestMethod.GET) - public Result<Object> delete(@PathVariable String menuid) throws Exception { + public Result<Object> delete(@PathVariable String menuid, HttpServletRequest request) throws Exception { Result<List<SysMenu>> all = getAll(); List<SysMenu> data = all.getData(); + SysMenu parentMenu = menuService.selectById(menuid); + HashSet<SysMenu> sysMenus = deleteMenuByParentId(data, menuid); for (SysMenu sysMenu : sysMenus) { List<MenuMapping> menuMappingList = menuMappingService.selectList(new EntityWrapper<MenuMapping>().eq("menu_id", sysMenu.getId())); for (MenuMapping menuMapping : menuMappingList) { - //todo 娣诲姞寰呭垹闄よ〃鐨勬棩蹇� + //鑻ュ凡缁忔湁涓婚鐢熸垚 鍒欐坊鍔犲埌鍒犻櫎鏃ュ織閲� DeletedTableLog deletedTableLog = new DeletedTableLog(); deletedTableLog.setId(DbUtils.getUUID()).setTableName(menuMapping.getTableName()).setCreateTime(new Date()); deletedTableLog.insert(); menuMapping.deleteById(); } + sysMenu.deleteById(); } - boolean delete = menuService.deleteById(menuid); + if (parentMenu == null) { + return Result.success(null); + } + String menuType = parentMenu.getMenuType(); + boolean delete = parentMenu.deleteById(); if (delete) { return Result.success(null); } else { @@ -330,9 +422,17 @@ } } - + /** + * + * @description: 閫氳繃parentid鍒嗛〉鑾峰彇涓婚淇℃伅 + * @param parentid 鐖剁骇涓婚id + * @param pageno : 椤垫暟 + * @return: 涓婚鏁版嵁list + * + */ @RequestMapping(value = "/byParent/{parentid}/{pageno}", method = RequestMethod.GET) public Result<Page<SysMenu>> menuByParentIdPage(@PathVariable String parentid, @PathVariable int pageno, HttpServletRequest request) throws Exception { + //pageSize 姣忛〉鏁版嵁 String pageSize = request.getParameter("pageSize"); if (StringUtils.isEmpty(pageSize)) { pageSize = "15"; @@ -346,6 +446,13 @@ return Result.success(menuPage); } + /** + * + * @description: 閫氳繃parentid鑾峰彇涓婚淇℃伅 + * @param parentid 鐖剁骇涓婚id + * @return: 涓婚鏁版嵁list + * + */ @RequestMapping(value = "/byParent/{parentid}", method = RequestMethod.GET) public Result<List<SysMenu>> menuByParentId(@PathVariable String parentid) { EntityWrapper<SysMenu> menuEntityWrapper = new EntityWrapper<>(); -- Gitblit v1.8.0