From 8033eea1502d4cb0a91aa4b86c848ccb00ba8dc0 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期五, 13 三月 2020 09:31:46 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/controller/SysMenuController.java |   80 ++++++++++++++++++++++++++++++---------
 1 files changed, 61 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
index 709c502..005208c 100644
--- a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
+++ b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
@@ -3,10 +3,15 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.highdatas.mdm.entity.DeletedTableLog;
+import com.highdatas.mdm.entity.MenuMapping;
+import com.highdatas.mdm.entity.SysField;
 import com.highdatas.mdm.entity.SysMenu;
 import com.highdatas.mdm.pojo.CodeMsg;
-import com.highdatas.mdm.pojo.MaintainDataType;
 import com.highdatas.mdm.pojo.Result;
+import com.highdatas.mdm.service.IDeletedTableLogService;
+import com.highdatas.mdm.service.IMenuMappingService;
+import com.highdatas.mdm.service.ISysFieldService;
 import com.highdatas.mdm.service.ISysMenuService;
 import com.highdatas.mdm.util.Constant;
 import com.highdatas.mdm.util.DbUtils;
@@ -15,9 +20,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -31,7 +34,15 @@
 @RequestMapping("/menu")
 public class SysMenuController {
     @Autowired
-    private ISysMenuService menuService;
+    ISysMenuService menuService;
+
+    @Autowired
+    IMenuMappingService menuMappingService;
+    @Autowired
+    ISysFieldService fieldService;
+    @Autowired
+    IDeletedTableLogService deletedTableLogService;
+
 
     @RequestMapping(value = "/all", method = RequestMethod.GET)
     public Result<List<SysMenu>> getAll() {
@@ -40,10 +51,37 @@
         return Result.success(menuService.selectList(sysMenuEntityWrapper)) ;
     }
 
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    public Result<List<SysMenu>> getMenuList() {
+        EntityWrapper<SysMenu> sysMenuEntityWrapper = new EntityWrapper<>();
+        sysMenuEntityWrapper.eq("DataMenu", "DataMenu");
+        sysMenuEntityWrapper.orderBy("parent_id, order_no");
+        List<SysMenu> sysMenus = menuService.selectList(sysMenuEntityWrapper);
+        LinkedHashSet<String> parentIdSet = new LinkedHashSet<>();
+        for (SysMenu sysMenu : sysMenus) {
+            MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("menu_id", sysMenu.getId()));
+            if (menuMapping == null) {
+                continue;
+            }
+            String tableName = menuMapping.getTableName();
+            List<SysField> fieldByTable = fieldService.getFieldByTable(tableName);
+            if (fieldByTable == null) {
+                continue;
+            }
+            parentIdSet.add(sysMenu.getId());
+        }
+        Set<String> byParentId = menuService.getByParentId(parentIdSet);
+        List<SysMenu> parentList = menuService.selectBatchIds(byParentId);
+
+        return Result.success(parentList) ;
+    }
+
+
+
     @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 ");
+        sysMenuEntityWrapper.eq("menu_type",Constant.StructureMenu).orderBy("parent_id desc");
         return Result.success(menuService.selectList(sysMenuEntityWrapper)) ;
     }
 
@@ -52,7 +90,7 @@
     public Result<Page<SysMenu>> getAll(@PathVariable int pageno, HttpServletRequest request) {
         String pageSize = request.getParameter("pageSize");
         if (StringUtils.isEmpty(pageSize)) {
-            pageSize = "20";
+            pageSize = "15";
         }
         Integer size = Integer.valueOf(pageSize);
         Page page = new Page(pageno, size);
@@ -98,7 +136,6 @@
         menu.setId(uuid);
         menu.setParentId(parentId);
         menu.setOrderNo(orderno);
-        menu.setDataType(MaintainDataType.parse(dataType));
         menu.setMenuType(menuType);
         boolean inserted = menuService.insert(menu);
         if (inserted) {
@@ -146,17 +183,14 @@
             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);
-            }
-        }
-        new SysMenu().setParentId(id).setId(DbUtils.getUUID()).setName(Constant.UnMatched).setOrderNo(1).setCreateTime(new Date()).setDataType(MaintainDataType.afterData).insert();
-        new SysMenu().setParentId(id).setId(DbUtils.getUUID()).setName(Constant.Current).setOrderNo(2).setCreateTime(new Date()).setDataType(MaintainDataType.currentData).insert();
-        new SysMenu().setParentId(id).setId(DbUtils.getUUID()).setName(Constant.History).setOrderNo(3).setCreateTime(new Date()).setDataType(MaintainDataType.beforeData).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(CodeMsg.SUCCESS);
     }
@@ -213,6 +247,14 @@
         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);

--
Gitblit v1.8.0