/// <summary> /// 获取 用户信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public static async Task <OperationResult <GetGameUserInfoResponse> > GetGameUserInfoAsync( GetGameUserInfoRequest request) { try { var manager = GameManagerFactory.GetGameManager(request.GameVersion); if (manager == null) { // 未实现 return(OperationResult.FromError <GetGameUserInfoResponse>("-3", Resource.Invalid_Game_NotImpl)); } return(OperationResult.FromResult(await manager.GetGameUserInfoAsync(request))); } catch (NotImplementedException e) { // 未实现 return(OperationResult.FromError <GetGameUserInfoResponse>("-3", Resource.Invalid_Game_NotImpl)); } }
/// <summary> /// 获取 用户信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public virtual async Task <GetGameUserInfoResponse> GetGameUserInfoAsync(GetGameUserInfoRequest request) { try { var gameVersion = GameVersion; // 获取用户信息 var taskUserInfo = DalGameUserInfo.GetGameUserInfoAsync(true, gameVersion, request.UserId); // 获取用户已领取奖品 var taskUserPrizeList = DalGameUserPrize.GetGameUserPrizeAsync(true, gameVersion, request.UserId); await Task.WhenAll(taskUserInfo, taskUserPrizeList); var result = new GetGameUserInfoResponse(); result.Point = taskUserInfo.Result?.Point ?? 0; result.PrizeItems = taskUserPrizeList .Result? .Select(p => new GetGameUserInfoResponsePrizeItems { PrizeName = p.PrizeName, PrizePic = p.PrizePicUrl, PrizeDesc = p.PrizeDesc, PrizeTitle = p.PrizeTitle, PrizeStartTime = p.PrizeStartTime, PrizeEndTime = p.PrizeEndTime }) .ToList(); return(result); } catch (Exception e) { Logger.Error($"{ManagerName} -> GetGameUserInfoAsync -> {JsonConvert.SerializeObject(request)} ", e.InnerException ?? e); throw; } }
/// <summary> /// 获取 用户信息 /// -1 -2 程序异常 /// -3 此游戏未实现 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <OperationResult <GetGameUserInfoResponse> > GetGameUserInfoAsync(GetGameUserInfoRequest request) { return(await GameManager.GetGameUserInfoAsync(request)); }