From c8aee7b9bfd79cfd741d7e5692520f4f51a31a86 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期一, 18 五月 2020 18:30:01 +0800
Subject: [PATCH] bak  修改 获取版本数据前

---
 src/main/java/com/highdatas/mdm/controller/SysMenuController.java |   89 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 66 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
index f926bd4..1d931d8 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;
 
 /**
@@ -46,12 +50,22 @@
     IMaintainService maintainService;
     @Autowired
     IMaintainFieldService maintainFieldService;
-    
-    @RequestMapping(value = "/all", method = RequestMethod.GET)
+    @Autowired
+    IMasterAuthorService masterAuthorService;
+    @Autowired
+    NoticeClient noticeClient;
+    @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)) ;
+    }
+
+    @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);
+        return Result.success(menu) ;
     }
 
     @RequestMapping(value = "/audit", method = RequestMethod.GET)
@@ -63,24 +77,43 @@
         flows = flows.stream().filter(flow ->  flowsService.isNextAudit(flow, userId)).collect(Collectors.toList());
 
         HashSet<String> tableNameSet = new HashSet<>();
-        List<String> maintainIds = flows.stream().map(Flows::getBusinessId).collect(Collectors.toList());
-        if (maintainIds.size() == 0) {
+        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());
+
+        if (maintainIds.isEmpty() && maintainFieldIds.isEmpty()) {
             return  Result.success(null);
         }
-        List<Maintain> maintains = maintainService.selectBatchIds(maintainIds);
-        List<String> tableNameList = maintains.stream().map(Maintain::getTableName).collect(Collectors.toList());
-        tableNameSet.addAll(tableNameList);
-        //
-        List<MaintainField> maintainFields = maintainFieldService.selectBatchIds(maintainIds);
-        tableNameSet.addAll(maintainFields.stream().map(MaintainField::getTableName).collect(Collectors.toList()));
+        for (String maintainFieldId : maintainFieldIds) {
+            MaintainField maintainField = maintainFieldService.selectById(maintainFieldId);
+            if (maintainField == null) {
+                continue;
+            }
+            String tableName = maintainField.getTableName();
+            if (StringUtils.isEmpty(tableName)) {
+                continue;
+            }
+            tableNameSet.add(tableName);
+        }
+        maintainIds = maintainIds.stream().filter(s -> masterAuthorService.checkMaintainAuthor(user,s)).collect(Collectors.toList());
+        if (!maintainIds.isEmpty()) {
+            List<Maintain> maintains = maintainService.selectBatchIds(maintainIds);
+
+            List<String> tableNameList = maintains.stream().map(Maintain::getTableName).collect(Collectors.toList());
+            tableNameSet.addAll(tableNameList);
+        }
         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);
-        List<SysMenu> parentList = menuService.selectBatchIds(byParentId);
+        List<SysMenu> parentList = menuService.getMenuByParentId(parentIdSet);
+        if (parentList == null) {
+            return Result.success(null);
+        }
 
         return Result.success(parentList);
     }
@@ -105,8 +138,7 @@
             }
             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) ;
     }
@@ -171,10 +203,10 @@
         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("鎻掑叆鎴愬姛", null);
+            return  Result.success(menu);
         } else {
             return Result.error(CodeMsg.INSERT_ERROR);
         }
@@ -214,7 +246,7 @@
             }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();
         }
 
@@ -227,15 +259,17 @@
 //            }
 //        }
 
-        return Result.success(CodeMsg.SUCCESS);
+        return Result.success(menu);
     }
 
     @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");
@@ -276,23 +310,33 @@
         return result;
     }
     @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 {
+        TUser user = DbUtils.getUser(request);
         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 {
@@ -324,6 +368,5 @@
         List<SysMenu> sysMenus = menuService.selectList(menuEntityWrapper);
         return Result.success(sysMenus);
     }
-
 
 }

--
Gitblit v1.8.0