コード例 #1
0
ファイル: GiftManager.cs プロジェクト: LYD2015/PointsGame
        /// <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
        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);
        }