示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }