/// <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); }
/// <summary> /// 获取动态列表 /// </summary> /// <param name="periodId">赛季ID</param> /// <param name="userId">用户ID</param> /// <param name="pageIndex">分页下标(0开始)</param> /// <param name="pageSize">分页大小</param> /// <param name="requestAborted"></param> /// <returns></returns> public async Task <PagingResponseMessage <SearchDynamicResponse> > SearchDynamicAsync(string periodId, string userId, int pageIndex, int pageSize, CancellationToken requestAborted) { var response = new PagingResponseMessage <SearchDynamicResponse>(); //每个人购买彩票的动态和中奖的信息不显示出来 var query = _iSearchStore.GetDynamicInfos().Where(w => w.PeriodId == periodId && w.DynamicType != (int)DynamicType.WinLottery && w.DynamicType != (int)DynamicType.BuyLottery); if (!string.IsNullOrWhiteSpace(userId)) { query = query.Where(w => w.UserId == userId); } query = query.OrderByDescending(o => o.CreateTime); response.TotalCount = await query.CountAsync(); response.PageIndex = pageIndex; response.PageSize = pageSize; response.Extension = await query.Skip(pageIndex *pageSize).Take(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); }