Selaa lähdekoodia

update MenuServiceImpl

reghao 1 vuosi sitten
vanhempi
commit
687d4c212c

+ 2 - 2
web/src/main/java/cn/reghao/devops/web/account/db/repository/MenuRepository.java

@@ -13,6 +13,6 @@ public interface MenuRepository extends JpaRepository<Menu, Integer> {
     int countByPid(int pid);
     List<Menu> findByPid(int pid);
     Menu findByUrl(String url);
-    List<Menu> findByEnabled(boolean isEnabled);
-    List<Menu> findByTypeAndEnabledIsTrue(String type);
+    List<Menu> findAllByEnabled(boolean enabled);
+    List<Menu> findByEnabledIsTrueAndType(String type);
 }

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/account/service/MenuService.java

@@ -18,6 +18,6 @@ public interface MenuService {
     void updateMenusStatus(boolean status, List<Integer> menuIds);
     Result deleteMenu(Integer menuId);
     List<MenuTree> getMenusByRole(Role role);
-    List<MenuTree> getMenusByStatus(Boolean isEnabled);
+    List<MenuTree> getMenusByStatus(Boolean enabled);
     List<MenuTree> getParentMenus();
 }

+ 18 - 8
web/src/main/java/cn/reghao/devops/web/account/service/impl/MenuServiceImpl.java

@@ -166,20 +166,20 @@ public class MenuServiceImpl implements MenuService {
     }
 
     @Override
-    public List<MenuTree> getMenusByStatus(Boolean isEnabled) {
-        List<Menu> menuList = menuRepository.findByEnabled(isEnabled);
+    public List<MenuTree> getMenusByStatus(Boolean enabled) {
+        List<Menu> menuList = menuRepository.findAllByEnabled(enabled);
         return getSortedZTree(menuList, null);
     }
 
     @Override
     public List<MenuTree> getMenusByRole(Role role) {
-        List<Menu> allMenus = menuRepository.findAll();
+        List<Menu> allMenus = menuRepository.findAllByEnabled(true);
         return getSortedZTree(allMenus, role);
     }
 
     @Override
     public List<MenuTree> getParentMenus() {
-        List<Menu> allMenus = menuRepository.findByTypeAndEnabledIsTrue(MenuType.dir.name());
+        List<Menu> allMenus = menuRepository.findByEnabledIsTrueAndType(MenuType.dir.name());
         return getSortedZTree(allMenus, null);
     }
 
@@ -205,10 +205,20 @@ public class MenuServiceImpl implements MenuService {
     }
 
     public void updateMenusStatus(boolean status, List<Integer> menuIds) {
-        menuRepository.findAllById(menuIds).forEach(menu -> {
-            menu.setEnabled(status);
-            menuRepository.save(menu);
-        });
+        Map<String, List<Menu>> map = menuIds.stream()
+                .map(menuId -> menuRepository.findById(menuId).orElse(null))
+                .filter(Objects::nonNull)
+                .collect(Collectors.groupingBy(Menu::getType));
+
+        List<Menu> dirMenus = map.get(MenuType.dir.name());
+        if (dirMenus != null) {
+        }
+
+        List<Menu> pageMenus = map.get(MenuType.page.name());
+        if (pageMenus != null) {
+            pageMenus.stream().peek(menu -> menu.setEnabled(status));
+            //menuRepository.saveAll(pageMenus);
+        }
     }
 
     public Map<Integer, String> getSortedChildGroupByPid(int pid) {