add 角色权限增加父子关系

This commit is contained in:
lijiarao
2021-09-13 19:11:09 +08:00
parent d959acf59a
commit 90df1b9911
@@ -3,16 +3,13 @@ package com.jero.modules.system.controller;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.StrUtil;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.system.vo.SysRoleTreeModel;
@@ -35,6 +32,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -422,6 +420,7 @@ public class SysRoleController {
@RequiresPermissions("sys:role:list")
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
public Result<Map<String,Object>> queryTreeList(HttpServletRequest request) {
Result<Map<String,Object>> result = new Result<>();
//全部权限ids
List<String> ids = new ArrayList<>();
@@ -433,6 +432,17 @@ public class SysRoleController {
for(SysPermission sysPer : list) {
ids.add(sysPer.getId());
}
String roleId = request.getParameter("roleId");
if (StrUtil.isNotBlank(roleId)) {
SysRole sysRole = sysRoleService.getById(roleId);
String parentId = sysRole.getParentId();
if (StrUtil.isNotBlank(parentId)) {
List<SysRolePermission> sysRolePermissions = sysRolePermissionService.list(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, parentId));
List<String> collect = sysRolePermissions.stream().map(SysRolePermission -> String.valueOf(SysRolePermission.getPermissionId())).collect(Collectors.toList());
list = list.stream().filter(p -> collect.contains(p.getId())).collect(Collectors.toList());
}
}
List<TreeModel> treeList = new ArrayList<>();
getTreeModelList(treeList, list, null);
Map<String,Object> resMap = new HashMap<String,Object>();