File was renamed from FlexJobApi.User.Application/UserInfos/Queries/GetUserInfoRolesQueryHandler.cs |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace FlexJobApi.User.Application |
| | | namespace FlexJobApi.UserServer.Application |
| | | { |
| | | /// <summary> |
| | | /// 查询用户角色列表 |
| | | /// </summary> |
| | | public class GetUserInfoRolesQueryHandler( |
| | | IRepository<Role> repRole, |
| | | IRepository<UserInfo> repUserInfo, |
| | | IRepository<UserInfoRole> repUserInfoRole |
| | | IRepository<User> repUser, |
| | | IRepository<UserRole> repUserRole |
| | | ) : IRequestHandler<GetUserInfoRolesQuery, List<GetUserInfoRolesQueryResultItem>> |
| | | { |
| | | private readonly IRepository<Role> repRole = repRole; |
| | | private readonly IRepository<UserInfo> repUserInfo = repUserInfo; |
| | | private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole; |
| | | private readonly IRepository<User> repUser = repUser; |
| | | private readonly IRepository<UserRole> repUserRole = repUserRole; |
| | | |
| | | /// <inheritdoc/> |
| | | public async Task<List<GetUserInfoRolesQueryResultItem>> Handle(GetUserInfoRolesQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var userInfo = await repUserInfo.AsQueryable().AsNoTracking() |
| | | var userInfo = await repUser.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.UserInfoId) |
| | | .Select(it => new |
| | | { |
| | |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (userInfo == null) throw Oops.Oh(EnumErrorCodeType.s404, "该用户信息"); |
| | | var roleIds = await repUserInfoRole.AsQueryable().AsNoTracking() |
| | | .Where(it => it.UserInfoId == request.UserInfoId) |
| | | var roleIds = await repUserRole.AsQueryable().AsNoTracking() |
| | | .Where(it => it.UserId == request.UserInfoId) |
| | | .Select(it => it.RoleId) |
| | | .ToListAsync(cancellationToken); |
| | | var roles = await repRole.AsQueryable().AsNoTracking() |