소스 검색

菜单功能

Gaokun Wang 3 주 전
부모
커밋
264bf0e185

+ 4 - 11
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/menu/MenuController.java

@@ -17,7 +17,6 @@ import org.eco.vip.nexus.core.service.menu.IMenuService;
 import org.eco.vip.orm.pojo.CommonResult;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.security.annotation.PermissionsResource;
-import org.eco.vip.security.utils.LoginHelper;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -52,14 +51,8 @@ public class MenuController {
     }
 
     @GetMapping("/list")
-    public CommonResult<List<MenuVO>> list(MenuBO menuBO) {
-        return success(menuService.selectList(menuBO));
-    }
-
-    @GetMapping("/auth/list")
-    public CommonResult<List<MenuVO>> listByUserId() {
-        String userId = LoginHelper.getUserId();
-        return success(menuService.selectListByUserId(userId));
+    public CommonResult<List<Tree<String>>> list(MenuBO menuBO) {
+        return success(menuService.tree(menuBO));
     }
 
     @GetMapping("/tree")
@@ -72,7 +65,7 @@ public class MenuController {
     public CommonResult<String> add(@RequestBody @Valid MenuBO menuBO) {
         boolean result = menuService.insert(menuBO);
         if (!result) {
-            return fail("新增组织失败!");
+            return fail("新增菜单失败!");
         }
         return success();
     }
@@ -82,7 +75,7 @@ public class MenuController {
     public CommonResult<String> edit(@RequestBody @Valid MenuBO menuBO) {
         boolean result = menuService.update(menuBO);
         if (!result) {
-            return fail("更新组织失败!");
+            return fail("更新菜单失败!");
         }
         return success();
     }

+ 4 - 4
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/menu/IMenuService.java

@@ -37,12 +37,12 @@ public interface IMenuService extends IBaseService<Menu> {
      * @return List<OrgVO>
      **/
     List<MenuVO> selectList(MenuBO menuBO);
+
     /**
-     * @description: 查询
-     * @param userId 参数
-     * @return List<OrgVO>
+     * @description: 查询树
+     * @return List<Tree < String>>
      **/
-    List<MenuVO> selectListByUserId(String userId);
+    List<Tree<String>> tree(MenuBO menuBO);
 
     /**
      * @description: 查询树

+ 17 - 9
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/menu/MenuService.java

@@ -81,13 +81,16 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
     }
 
     @Override
-    public List<MenuVO> selectListByUserId(String userId) {
-        return List.of();
+    public List<Tree<String>> tree(MenuBO menuBO) {
+        QueryWrapper wrapper = buildQueryWrapper(menuBO).orderBy(Menu::getOrderNum).asc();
+        String userId = LoginHelper.getUserId();
+        List<TreeNode<String>> treeNodeList = buildMenuTreeNodes(userId, wrapper);
+        return TreeUtil.build(treeNodeList, "0");
     }
 
     @Override
     public List<Tree<String>> tree() {
-        QueryWrapper wrapper = QueryWrapper.create().orderBy(Menu::getOrderNum).asc();
+        QueryWrapper wrapper = QueryWrapper.create().ne(Menu::getMenuType, 'L').orderBy(Menu::getOrderNum).asc();
         List<Menu> list = this.list(wrapper);
         return TreeUtils.build(list.stream().map(menu ->
                 new TreeNode<>(menu.getMenuId(), menu.getParentId(), menu.getName(), menu.getOrderNum()).setExtra(JsonUtils.parseObj(menu))
@@ -102,7 +105,8 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
 
     @Override
     public boolean update(MenuBO menuBO) {
-        return false;
+        Menu menu = MapstructUtils.convert(menuBO, Menu.class);
+        return this.updateById(menu);
     }
 
     @Override
@@ -118,12 +122,18 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
     @Override
     public List<Tree<String>> getRouters() {
         String userId = LoginHelper.getUserId();
+        QueryWrapper queryWrapper = QueryWrapper.create().orderBy(Menu::getOrderNum).asc();
+        List<TreeNode<String>> treeNodeList = buildMenuTreeNodes(userId, queryWrapper);
+        return TreeUtil.build(treeNodeList, "0");
+
+    }
+
+    private List<TreeNode<String>> buildMenuTreeNodes(String userId, QueryWrapper queryWrapper) {
         List<MenuVO> menuVOList;
         if (LoginHelper.isSuperAdmin(userId)) {
-            menuVOList = menuMapper.selectListWithRelationsByQueryAs(QueryWrapper.create().orderBy(Menu::getOrderNum).asc(),
+            menuVOList = menuMapper.selectListWithRelationsByQueryAs(queryWrapper,
                     MenuVO.class);
         } else {
-            QueryWrapper queryWrapper = QueryWrapper.create();
             queryWrapper.select(QueryMethods.distinct(ROLE_MENU.MENU_ID))
                     .from(USER_ROLE.as("urt"))
                     .leftJoin(ROLE_MENU.as("rmt")).on(USER_ROLE.ROLE_ID.eq(ROLE_MENU.ROLE_ID))
@@ -144,11 +154,9 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
             menu.set("meta", meta);
             return menu;
         }).toList();
-        List<TreeNode<String>> treeNodeList = resultJsonObjectList.stream().map(jsonObject ->
+        return resultJsonObjectList.stream().map(jsonObject ->
                         new TreeNode<>(jsonObject.getStr("menuId"), jsonObject.getStr("parentId"),
                                 jsonObject.getStr("name"), jsonObject.getInt("sortCode")).setExtra(JSONUtil.parseObj(jsonObject)))
                 .toList();
-        return TreeUtil.build(treeNodeList, "0");
-
     }
 }