/// <summary> /// 查询该角色拥有哪些权限 /// </summary> /// <param name="roleid"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <ResponseMessage <List <PermissionListResponse> > > SelectRolePermissionAsync(string roleid, CancellationToken cancellationToken = default(CancellationToken)) { var response = new ResponseMessage <List <PermissionListResponse> >() { Extension = new List <PermissionListResponse> { } }; if (await _roleStore.GetAsync(roleid) == null) { throw new ZCustomizeException(ResponseCodeEnum.NotAllow, "没有找到该角色,请重试"); } var rolePer = await _rolePermissionStore.IQueryableListAsync().Where(t => t.RoleId == roleid).Select(y => y.PermissionId).ToListAsync(cancellationToken); var result = from c in await _permissionStore.EnumerableListAsync() group c by c.Group into per select new PermissionListResponse { Group = per.Key, PermissionList = per.Select(u => new PermissionListResponse.ListResponse { Id = u.Id, Name = u.Name, IsAuthorize = rolePer.Contains(u.Id) ? true : false }).ToList() }; response.Extension = result.ToList(); return(response); }