/// <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); }
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); }