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 |   88 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 78 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 e93c8aa..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(data);
+
+
+
+            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);

--
Gitblit v1.8.0