public List<AclModuleLevelDto> roleTree(int roleId) {
// 1、当前用户已分配的权限点
List<SysAcl> userAclList = sysCoreService.getCurrentUserAclList();
// 2、当前角色分配的权限点
List<SysAcl> roleAclList = sysCoreService.getRoleAclList(roleId);
// 3、当前系统所有权限点
List<AclDto> aclDtoList = Lists.newArrayList();
Set<Integer> userAclIdSet = userAclList.stream().map(sysAcl -> sysAcl.getId()).collect(Collectors.toSet());
Set<Integer> roleAclIdSet = roleAclList.stream().map(sysAcl -> sysAcl.getId()).collect(Collectors.toSet());
List<SysAcl> allAclList = sysAclMapper.getAll();
for (SysAcl acl : allAclList) {
AclDto dto = AclDto.adapt(acl);
// 避免多才层for循环
if (userAclIdSet.contains(acl.getId())) {
dto.setHasAcl(true);
}
if (roleAclIdSet.contains(acl.getId())) {
dto.setChecked(true);
}
aclDtoList.add(dto);
}
return aclListToTree(aclDtoList);
}
future
asdasdasd