|
@@ -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");
|
|
|
-
|
|
|
}
|
|
|
}
|