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/MenuMappingController.java | 90 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 80 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/MenuMappingController.java b/src/main/java/com/highdatas/mdm/controller/MenuMappingController.java index b1f8315..56632db 100644 --- a/src/main/java/com/highdatas/mdm/controller/MenuMappingController.java +++ b/src/main/java/com/highdatas/mdm/controller/MenuMappingController.java @@ -1,17 +1,25 @@ package com.highdatas.mdm.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.highdatas.mdm.entity.MenuMapping; +import com.highdatas.mdm.entity.SysMenu; +import com.highdatas.mdm.entity.TUser; import com.highdatas.mdm.pojo.CodeMsg; import com.highdatas.mdm.pojo.Result; import com.highdatas.mdm.service.IMaintainDetailService; import com.highdatas.mdm.service.IMaintainService; import com.highdatas.mdm.service.IMenuMappingService; +import com.highdatas.mdm.service.ISysMenuService; +import com.highdatas.mdm.util.DbUtils; +import com.highdatas.mdm.util.NoticeClient; 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.Date; +import java.util.LinkedHashSet; +import java.util.List; /** * <p> @@ -33,17 +41,36 @@ @Autowired IMaintainDetailService maintainDetailService; - + @Autowired + ISysMenuService menuService; + @Autowired + NoticeClient noticeClient; + /** + * + * @description: 閫氳繃id鑾峰彇menumapping + * @param id menumapping id + * @return: menumapping鏁版嵁 + * + */ @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) public Result<MenuMapping> get(@PathVariable String id, HttpServletRequest request) { return menuMappingService.getMapping(request.getSession(),id); } - + /** + * + * @description: 淇濆瓨涓婚鐨勮缁嗕俊鎭� + * @return: 鏄惁淇濆瓨鎴愬姛 + * + */ @RequestMapping(value = "/add", method = RequestMethod.POST) - public Result<Object> insert(@RequestParam String data, HttpServletRequest request) { - HttpSession session = request.getSession(); - MenuMapping inserted = menuMappingService.create(data, session); + public Result<Object> insert(@RequestBody MenuMapping menuMapping, HttpServletRequest request) { + String menuId = menuMapping.getMenuId(); + int cnt = menuMappingService.selectCount(new EntityWrapper<MenuMapping>().eq("menu_id", menuId)); + if (cnt != 0) { + menuMapping.updateById(); + } + MenuMapping inserted = menuMappingService.create(menuMapping); if (inserted != null) { return Result.success(inserted); } else { @@ -52,16 +79,57 @@ } + /** + * + * @description: 淇濆瓨涓婚鐨勮缁嗕俊鎭� + * @return: 鏄惁淇濆瓨鎴愬姛 + * + */ @RequestMapping(value = "/update", method = RequestMethod.POST) - public Result<Object> update(@RequestParam String data) throws Exception { - boolean updated =menuMappingService.update(data); + public Result<Object> update(@RequestBody MenuMapping menuMapping, HttpServletRequest request) { + menuMapping.setUpdateTime(new Date()); + String menuId = menuMapping.getMenuId(); + SysMenu menu = menuService.selectById(menuId); + String preParentId = menu.getParentId(); + + String themeId = menuMapping.getThemeId(); + if (!preParentId.equalsIgnoreCase(themeId)) { + menu.setParentId(themeId); + menu.updateById(); + } + boolean updated = menuMapping.updateById(); if (updated) { - return Result.success("鏇存柊鎴愬姛", null); + + + + TUser user = DbUtils.getUser(request); + if (menu != null) { + LinkedHashSet<String> parentIdSet = new LinkedHashSet<>(); + parentIdSet.add(menuId); + LinkedHashSet<String> byParentId = menuService.getByParentId(parentIdSet); + if (byParentId == null) { + noticeClient.EditMenuMapping(menu, null, user.getUserId()); + } else { + if (!byParentId.isEmpty()) { + List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); + SysMenu parentMenu = sysMenus.get(0); + noticeClient.EditMenuMapping(menu, parentMenu, user.getUserId()); + } + + } + } + + return Result.success(menuMapping); } else { return Result.error(CodeMsg.UPDATE_ERROR); } } - + /** + * + * @description: 閫氳繃涓婚鍒犻櫎涓婚璇︾粏淇℃伅 + * @return: 鏄惁鍒犻櫎menumapping + * + */ @RequestMapping(value = "/delete/{menuid}", method = RequestMethod.GET) public Result<Object> delete(@PathVariable String menuid) throws Exception { boolean deleted = menuMappingService.deleteById(menuid); @@ -72,4 +140,6 @@ } } + + } -- Gitblit v1.8.0