|
@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
|
|
|
import com.backendsys.modules.system.dao.SysUserRoleMenuDao;
|
|
|
import com.backendsys.modules.system.entity.SysUserRoleMenu;
|
|
|
import com.backendsys.modules.system.service.SysUserRoleMenuService;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -20,46 +21,57 @@ public class SysUserRoleMenuServiceImpl implements SysUserRoleMenuService {
|
|
|
@Autowired
|
|
|
private SysUserRoleMenuDao sysUserRoleMenuDao;
|
|
|
|
|
|
- // 转为树型结构 (SysUserRoleMenu)
|
|
|
- public static List<SysUserRoleMenu> buildTree(List<SysUserRoleMenu> sysUserRoleMenuList) {
|
|
|
- // 创建一个Map来存储id和SysUserRoleMenu对象的映射关系
|
|
|
- Map<Long, SysUserRoleMenu> map = new HashMap<>();
|
|
|
- // 遍历sysUserRoleMenuList,将每个SysUserRoleMenu对象放入map中
|
|
|
- for (SysUserRoleMenu menu : sysUserRoleMenuList) {
|
|
|
- map.put(menu.getId(), menu);
|
|
|
- }
|
|
|
-
|
|
|
- // 创建一个List来存储最父级的SysUserRoleMenu对象
|
|
|
- List<SysUserRoleMenu> rootMenus = new ArrayList<>();
|
|
|
-
|
|
|
- // 创建一个List来存储需要删除的SysUserRoleMenu对象
|
|
|
- List<SysUserRoleMenu> toRemove = new ArrayList<>();
|
|
|
+// // 转为树型结构 (SysUserRoleMenu)
|
|
|
+// public static List<SysUserRoleMenu> buildTree(List<SysUserRoleMenu> sysUserRoleMenuList) {
|
|
|
+// // 创建一个Map来存储id和SysUserRoleMenu对象的映射关系
|
|
|
+// Map<Long, SysUserRoleMenu> map = new HashMap<>();
|
|
|
+// // 遍历sysUserRoleMenuList,将每个SysUserRoleMenu对象放入map中
|
|
|
+// for (SysUserRoleMenu menu : sysUserRoleMenuList) {
|
|
|
+// map.put(menu.getId(), menu);
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 创建一个List来存储最父级的SysUserRoleMenu对象
|
|
|
+// List<SysUserRoleMenu> rootMenus = new ArrayList<>();
|
|
|
+//
|
|
|
+// // 创建一个List来存储需要删除的SysUserRoleMenu对象
|
|
|
+// List<SysUserRoleMenu> toRemove = new ArrayList<>();
|
|
|
+//
|
|
|
+// // 遍历sysUserRoleMenuList,构建树型结构
|
|
|
+// for (SysUserRoleMenu menu : sysUserRoleMenuList) {
|
|
|
+// // 如果parent_id不等于-1,说明该SysUserRoleMenu对象有父节点
|
|
|
+// if (menu.getParent_id().equals(-1)) {
|
|
|
+// // 如果parent_id等于-1,说明该SysUserRoleMenu对象是最父级节点,直接放入rootMenus中
|
|
|
+// rootMenus.add(menu);
|
|
|
+// } else {
|
|
|
+// // 获取其父节点
|
|
|
+// SysUserRoleMenu parentMenu = map.get(menu.getParent_id());
|
|
|
+// // 如果父节点存在,则将该SysUserRoleMenu对象放入父节点的children列表中
|
|
|
+// if (parentMenu != null) {
|
|
|
+// if (parentMenu.getChildren() == null) {
|
|
|
+// parentMenu.setChildren(new ArrayList<>());
|
|
|
+// }
|
|
|
+// parentMenu.getChildren().add(menu);
|
|
|
+// // 将该SysUserRoleMenu对象添加到toRemove列表中
|
|
|
+// toRemove.add(menu);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 删除已经被放入children列表中的SysUserRoleMenu对象
|
|
|
+// sysUserRoleMenuList.removeAll(toRemove);
|
|
|
+// return rootMenus;
|
|
|
+// }
|
|
|
|
|
|
- // 遍历sysUserRoleMenuList,构建树型结构
|
|
|
- for (SysUserRoleMenu menu : sysUserRoleMenuList) {
|
|
|
- // 如果parent_id不等于-1,说明该SysUserRoleMenu对象有父节点
|
|
|
- if (menu.getParent_id().equals(-1)) {
|
|
|
- // 如果parent_id等于-1,说明该SysUserRoleMenu对象是最父级节点,直接放入rootMenus中
|
|
|
- rootMenus.add(menu);
|
|
|
- } else {
|
|
|
- // 获取其父节点
|
|
|
- SysUserRoleMenu parentMenu = map.get(menu.getParent_id());
|
|
|
- // 如果父节点存在,则将该SysUserRoleMenu对象放入父节点的children列表中
|
|
|
- if (parentMenu != null) {
|
|
|
- if (parentMenu.getChildren() == null) {
|
|
|
- parentMenu.setChildren(new ArrayList<>());
|
|
|
- }
|
|
|
- parentMenu.getChildren().add(menu);
|
|
|
- // 将该SysUserRoleMenu对象添加到toRemove列表中
|
|
|
- toRemove.add(menu);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+// // 获取系统用户角色菜单列表 (简约)(树型)
|
|
|
+// @Override
|
|
|
+// public List<Map<String, Object>> selectMenuListSimple(List<String> permission_ids) {
|
|
|
+// List<Map<String, Object>> menuList = sysUserRoleMenuDao.selectMenuListSimple(permission_ids);
|
|
|
+// if (menuList.size() > 0) {
|
|
|
+// buildTreeToMap(menuList);
|
|
|
+// }
|
|
|
+// return menuList;
|
|
|
+// }
|
|
|
|
|
|
- // 删除已经被放入children列表中的SysUserRoleMenu对象
|
|
|
- sysUserRoleMenuList.removeAll(toRemove);
|
|
|
- return rootMenus;
|
|
|
- }
|
|
|
|
|
|
// 转为树型结构 (Map)
|
|
|
public static List<Map<String, Object>> buildTreeToMap(List<Map<String, Object>> menuList) {
|
|
@@ -89,24 +101,22 @@ public class SysUserRoleMenuServiceImpl implements SysUserRoleMenuService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- // 获取系统用户角色菜单列表 (简约)(树型)
|
|
|
+ // 获取系统用户角色菜单列表
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> selectMenuListSimple(List<String> permission_ids) {
|
|
|
- List<Map<String, Object>> menuList = sysUserRoleMenuDao.selectMenuListSimple(permission_ids);
|
|
|
- if (menuList.size() > 0) {
|
|
|
- buildTreeToMap(menuList);
|
|
|
+ public List<Map<String, Object>> selectUserRoleMenuList(List<String> permission_ids) {
|
|
|
+ List<Map<String, Object>> sysUserRoleMenuList = sysUserRoleMenuDao.selectUserRoleMenuList(permission_ids);
|
|
|
+ if (sysUserRoleMenuList.size() > 0) {
|
|
|
+ buildTreeToMap(sysUserRoleMenuList);
|
|
|
}
|
|
|
- return menuList;
|
|
|
+ return sysUserRoleMenuList;
|
|
|
}
|
|
|
|
|
|
- // 获取系统用户角色菜单列表 (全部)(树型)
|
|
|
+ // 获取系统用户角色菜单详情
|
|
|
@Override
|
|
|
- public List<SysUserRoleMenu> getUserRoleMenu() {
|
|
|
- List<SysUserRoleMenu> sysUserRoleMenuList = sysUserRoleMenuDao.selectList(new QueryWrapper<>());
|
|
|
- if (sysUserRoleMenuList.size() > 0) {
|
|
|
- buildTree(sysUserRoleMenuList);
|
|
|
- }
|
|
|
- return sysUserRoleMenuList;
|
|
|
+ public SysUserRoleMenu getUserRoleMenuDetail(SysUserRoleMenu sysUserRoleMenu) {
|
|
|
+ LambdaQueryWrapper<SysUserRoleMenu> queryWrapper = new LambdaQueryWrapper<SysUserRoleMenu>().eq(SysUserRoleMenu::getId, sysUserRoleMenu.getId());
|
|
|
+ SysUserRoleMenu detail = sysUserRoleMenuDao.selectOne(queryWrapper);
|
|
|
+ return detail;
|
|
|
}
|
|
|
|
|
|
}
|