/// <summary> /// 查询抽奖记录列表 /// </summary> /// <param name="request"></param> /// <param name="requestAborted"></param> /// <returns></returns> public async Task <PagingResponseMessage <SearchDynamicResponse> > SearchConsumableRecordAsync(ConsumableRecordRequest request, CancellationToken requestAborted) { var response = new PagingResponseMessage <SearchDynamicResponse>(); var query = _iSearchStore.GetDynamicInfos().Where(w => w.PeriodId == request.PeriodId && (w.DynamicType == (int)DynamicType.RandomGift || w.DynamicType == (int)DynamicType.GetGift)); if (!string.IsNullOrWhiteSpace(request.UserNmae)) { query = query.Where(w => w.UserFullName.Contains(request.UserNmae) || w.DynamicContent.Contains(request.UserNmae)); } query = query.OrderByDescending(o => o.CreateTime); response.TotalCount = await query.CountAsync(); response.PageIndex = request.PageIndex; response.PageSize = request.PageSize; response.Extension = await query.Skip(request.PageIndex *request.PageSize).Take(request.PageSize).Select(s => new SearchDynamicResponse { Id = s.Id, DataId = s.DataId, PeriodId = s.PeriodId, UserId = s.UserId, UserFullName = s.UserFullName, Score = s.Score, DynamicType = s.DynamicType, Adjective = s.Adjective, DynamicContent = s.DynamicContent, CreateTime = s.CreateTime }).ToListAsync(); return(response); }
public async Task <PagingResponseMessage <SearchDynamicResponse> > SearchConsumableRecord(Models.UserInfo user, [FromBody] ConsumableRecordRequest request) { Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询抽奖记录列表,请求参数为:\r\n" + (request != null ? JsonHelper.ToJson(request) : "")); var response = new PagingResponseMessage <SearchDynamicResponse>(); if (!ModelState.IsValid) { response.Code = ResponseCodeDefines.ArgumentNullError; response.Message = "模型验证失败" + ModelState.GetAllErrors(); Logger.Warn("查询抽奖记录列表,模型验证失败:\r\n{0}", response.Message ?? ""); return(response); } try { response = await _giftManager.SearchConsumableRecordAsync(request, HttpContext.RequestAborted); } catch (Exception e) { response.Code = ResponseCodeDefines.ServiceError; response.Message = e.Message; Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询抽奖记录列表,报错:{e.Message}\r\n{e.StackTrace}"); } return(response); }