예제 #1
0
        /// <summary>
        /// 查询我的投注列表
        /// </summary>
        /// <param name="request"></param>
        /// <param name="requestAborted"></param>
        /// <returns></returns>
        public async Task <PagingResponseMessage <LotteryMyBetResponse> > LotteryMyBetAsync(Models.UserInfo user, LotteryMyBetRequest request, CancellationToken requestAborted)
        {
            var response      = new PagingResponseMessage <LotteryMyBetResponse>();
            var numberPeriods = await GetNumberPeriods();//下一次开奖期数

            var myLuQuery = _giftStore.GetLotteryUsers().Where(w => w.PeriodId == request.PeriodId && w.UserId == user.Id);

            myLuQuery           = myLuQuery.OrderByDescending(o => o.CreateTime);
            response.TotalCount = await myLuQuery.CountAsync();

            response.PageIndex = request.PageIndex;
            response.PageSize  = request.PageSize;
            response.Extension = await myLuQuery.Skip(request.PageIndex *request.PageSize).Take(request.PageSize).Select(s => new LotteryMyBetResponse
            {
                IsRunlottery  = numberPeriods == s.NumberPeriods ? false : true,//如果等于下一期就是未开奖
                NumberPeriods = s.NumberPeriods,
                Number        = s.Number,
                Score         = s.Score,
                WinningNumber = s.WinningNumber,
                WinningScore  = s.WinningScore,
                CreateTime    = s.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
            }).ToListAsync();

            return(response);
        }
예제 #2
0
        public async Task <PagingResponseMessage <LotteryMyBetResponse> > LotteryMyBet(Models.UserInfo user, [FromBody] LotteryMyBetRequest request)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询我的投注列表,请求参数为:\r\n" + (request != null ? JsonHelper.ToJson(request) : ""));
            var response = new PagingResponseMessage <LotteryMyBetResponse>();

            if (!ModelState.IsValid)
            {
                response.Code    = ResponseCodeDefines.ArgumentNullError;
                response.Message = "模型验证失败" + ModelState.GetAllErrors();
                Logger.Warn("查询我的投注列表,模型验证失败:\r\n{0}", response.Message ?? "");
                return(response);
            }
            try
            {
                response = await _giftManager.LotteryMyBetAsync(user, 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);
        }