Ver Fonte

分配菜单展示

黄远 há 4 anos atrás
pai
commit
20d04be0bd

+ 17 - 0
lift-common/src/main/java/cn.com.ty.lift.common/utils/ProjectUtils.java

@@ -67,6 +67,23 @@ public class ProjectUtils {
         return null;
     }
 
+    /**
+     * @param list list
+     * @return 通过","连接的字符串
+     * @description 将数组值通过","连接
+     * @date 2020/4/26 11:39 上午
+     */
+    public static String listToStrByComma(List<Long> list) {
+        if(list != null && list.size() > 0) {
+            StringBuilder sb = new StringBuilder();
+            list.forEach(id -> {
+                sb.append(id.toString()).append(",");
+            });
+            return sb.toString();
+        }
+        return null;
+    }
+
     /**
      * 将对象集合转化为attr->List<Obj>的map形式,通过特定属性给对象归类
      *

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MtCompanyAttestationServiceImpl.java

@@ -353,6 +353,7 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
 
         //2.给企业分配菜单
         String menuIds = companyAttestationRequest.getMenuIds();
+        menuIds = menuService.getAllMenuButtonIds(menuIds);
         if (1 == defaultAssign) {
             menuIds = ProjectUtils.arrayToStrByComma(DefaultMenuConstants.ENTERPRISE_MENUIDS);
         }

+ 10 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IMenuService.java

@@ -79,4 +79,14 @@ public interface IMenuService extends IService<Menu> {
      * @Date 2020/7/2 9:31 上午
      */
     RestResponse getButton(MenuRequest menuRequest);
+
+    /**
+     * @param menuIdStr 菜单id
+     * @return 所有菜单id
+     * @methodName getAllMenuButtonIds
+     * @Desc 获取所有菜单id
+     * @Author huangyuan
+     * @Date 2020/7/7 12:16 下午
+     */
+    String getAllMenuButtonIds(String menuIdStr);
 }

+ 24 - 28
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/MenuService.java

@@ -170,8 +170,6 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
         }
         //获取菜单id列表
         List<Long> menuIdList = ProjectUtils.getLongIdFromIds(menuRequest.getMenuIds());
-        //获取菜单下的所有按钮
-        menuIdList = getAllMenuButtonIds(menuIdList);
         List<CompanyMenu> needSaveCompanyMenuList = new ArrayList<>();
         if (menuIdList.size() > 0) {
             for (Long menuId : menuIdList) {
@@ -191,36 +189,34 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
         return null;
     }
 
-    /**
-     * @param menuIdList 菜单id
-     * @return 所有菜单id
-     * @methodName getAllMenuButtonIds
-     * @Desc 获取所有菜单id
-     * @Author huangyuan
-     * @Date 2020/7/7 12:16 下午
-     */
-    private List<Long> getAllMenuButtonIds(List<Long> menuIdList) {
-        if (menuIdList != null && menuIdList.size() > 0) {
-            List<Menu> menuList = (List<Menu>) this.listByIds(menuIdList);
-            //获取二级菜单
-            List<Menu> secondMenuList = menuList.stream().filter(menu -> !ApiConstants.ROOT_MENU_PARENT_ID.
-                    equals(menu.getParentId())).collect(Collectors.toList());
-            if (secondMenuList.size() > 0) {
-                List<Long> secondMenuIdList = secondMenuList.stream().map(menu -> Long.
-                        parseLong(menu.getId().toString())).collect(Collectors.toList());
-                //获取二级菜单下的按钮
-                List<Menu> buttonList = list(Wrappers.<Menu>query().
-                        in(secondMenuIdList.size() > 0, "parent_id", secondMenuIdList)
-                );
-                if(buttonList != null && buttonList.size() > 0) {
-                    //分配按钮添加
-                    List<Long> buttonIdList = buttonList.stream().map(menu -> Long.
+    @Override
+    public String getAllMenuButtonIds(String menuIdStr) {
+        List<Long> menuIdList = new ArrayList<>();
+        if (StringUtils.isNotBlank(menuIdStr)) {
+            //将字符串转化为集合
+            menuIdList = ProjectUtils.getLongIdFromIds(menuIdStr);
+            if (menuIdList.size() > 0) {
+                List<Menu> menuList = (List<Menu>) this.listByIds(menuIdList);
+                //获取二级菜单
+                List<Menu> secondMenuList = menuList.stream().filter(menu -> !ApiConstants.ROOT_MENU_PARENT_ID.
+                        equals(menu.getParentId())).collect(Collectors.toList());
+                if (secondMenuList.size() > 0) {
+                    List<Long> secondMenuIdList = secondMenuList.stream().map(menu -> Long.
                             parseLong(menu.getId().toString())).collect(Collectors.toList());
-                    menuIdList.addAll(buttonIdList);
+                    //获取二级菜单下的按钮
+                    List<Menu> buttonList = list(Wrappers.<Menu>query().
+                            in(secondMenuIdList.size() > 0, "parent_id", secondMenuIdList)
+                    );
+                    if (buttonList != null && buttonList.size() > 0) {
+                        //分配按钮添加
+                        List<Long> buttonIdList = buttonList.stream().map(menu -> Long.
+                                parseLong(menu.getId().toString())).collect(Collectors.toList());
+                        menuIdList.addAll(buttonIdList);
+                    }
                 }
             }
         }
-        return menuIdList;
+        return ProjectUtils.listToStrByComma(menuIdList);
     }
 
     @Override