| | |
| | | /// <inheritdoc/> |
| | | public async Task<PagedListQueryResult<GetOperationUserInfosQueryResultItem>> Handle(GetOperationUserInfosQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var result = await repUser.AsQueryable().AsNoTracking() |
| | | .OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime) |
| | | .Where(it => it.Type == EnumUserType.Operation) |
| | | .Select(it => new GetOperationUserInfosQueryResultItem |
| | | var result = await request.PageModel.GetPagedListAsync<UserInfo, GetOperationUserInfosQueryResultItem>( |
| | | q => |
| | | { |
| | | q = q.OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime) |
| | | .Where(it => it.Type == EnumUserType.Operation); |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => |
| | | it.UserAuth.Name.Contains(request.Keywords) |
| | | || it.UserAuth.UserName.Contains(request.Keywords) |
| | | || it.UserAuth.PhoneNumber.Contains(request.Keywords) |
| | | || it.Remark.Contains(request.Keywords)); |
| | | } |
| | | return q; |
| | | }, |
| | | it => new GetOperationUserInfosQueryResultItem |
| | | { |
| | | Id = it.Id, |
| | | Name = it.UserAuth.Name, |
| | | UserName = it.UserAuth.UserName, |
| | | PhoneNumber = it.UserAuth.PhoneNumber, |
| | | Remark = it.Remark |
| | | }) |
| | | .ToPagedListAsync(request.PageModel, cancellationToken); |
| | | }, cancellationToken); |
| | | if (result.Data.Any()) |
| | | { |
| | | var ids = result.Data.DistinctSelect(it => it.Id); |