|
@@ -6,20 +6,28 @@
|
|
|
package org.eco.vip.auth.service.menu;
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.lang.tree.Tree;
|
|
|
+import cn.hutool.core.lang.tree.TreeNode;
|
|
|
import com.mybatisflex.core.query.QueryWrapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import org.eco.vip.auth.domain.menu.Menu;
|
|
|
import org.eco.vip.auth.domain.menu.pojo.MenuBO;
|
|
|
import org.eco.vip.auth.domain.menu.pojo.MenuVO;
|
|
|
import org.eco.vip.auth.mapper.MenuMapper;
|
|
|
+import org.eco.vip.auth.service.role.IRoleService;
|
|
|
+import org.eco.vip.auth.service.user.IUserService;
|
|
|
import org.eco.vip.orm.pojo.PageResult;
|
|
|
import org.eco.vip.orm.service.BaseService;
|
|
|
+import org.eco.vip.orm.utils.JsonUtils;
|
|
|
import org.eco.vip.orm.utils.MapstructUtils;
|
|
|
import org.eco.vip.orm.utils.ObjUtils;
|
|
|
import org.eco.vip.orm.utils.RandomUtils;
|
|
|
+import org.eco.vip.orm.utils.TreeUtils;
|
|
|
+import org.eco.vip.security.utils.LoginHelper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static org.eco.vip.auth.domain.menu.table.MenuTableDef.MENU;
|
|
|
|
|
@@ -35,6 +43,12 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
|
|
|
@Resource
|
|
|
private MenuMapper menuMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private IRoleService roleService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private IUserService userService;
|
|
|
+
|
|
|
private QueryWrapper buildQueryWrapper(MenuBO menuBO) {
|
|
|
return super.buildBaseQueryWrapper()
|
|
|
.and(MENU.CODE.eq(menuBO.getCode()))
|
|
@@ -58,6 +72,15 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
|
|
|
return menuMapper.selectListWithRelationsByQueryAs(queryWrapper, MenuVO.class);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Tree<String>> tree() {
|
|
|
+ QueryWrapper wrapper = QueryWrapper.create().orderBy(Menu::getOrderNum).asc();
|
|
|
+ List<Menu> list = this.list(wrapper);
|
|
|
+ return TreeUtils.build(list.stream().map(menu ->
|
|
|
+ new TreeNode<>(menu.getMenuId(), menu.getParentId(), menu.getTitle(), menu.getOrderNum()).setExtra(JsonUtils.parseObj(menu))
|
|
|
+ ).collect(Collectors.toList()), "0");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean insert(MenuBO menuBO) {
|
|
|
Menu menu = MapstructUtils.convert(menuBO, Menu.class);
|
|
@@ -81,4 +104,14 @@ public class MenuService extends BaseService<MenuMapper, Menu> implements IMenuS
|
|
|
public MenuVO selectById(String id) {
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Tree<String>> getRouters() {
|
|
|
+ String userId = LoginHelper.getUserId();
|
|
|
+ List<String> roleIds = userService.selectRoleIdByUserId(userId);
|
|
|
+ List<String> menuIds = roleService.selectMenuIdsByRoleIds(roleIds);
|
|
|
+
|
|
|
+// roleService
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
}
|