/// <summary> /// 小游戏 - 删除游戏的人员数据 - 内部用 /// </summary> /// <param name="request"></param> /// <returns></returns> public virtual async Task <bool> DeleteGameUserDataAsync(DeleteGameUserDataRequest request) { try { var gameVersion = GameVersion; var userId = request.UserId; // 删除用户相关数据 using (var dbHelper = DbHelper.CreateDbHelper()) { await Task.WhenAll( DalGameUserInfo.DeleteGameUserInfoAsync(dbHelper, gameVersion, userId), DalGameUserPointDetail.DeleteGameUserPointDetailAsync(dbHelper, gameVersion, userId), DalGameUserPrize.DeleteGameUserPrizeAsync(dbHelper, gameVersion, userId), DalGameUserShare.DeleteGameUserShareAsync(dbHelper, gameVersion, userId) ); } return(true); } catch (Exception e) { Logger.Error( $"{ManagerName} -> DeleteGameUserDataAsync -> {JsonConvert.SerializeObject(request)} ", e.InnerException ?? e); throw; } }
GameUserShareAsync( GameUserShareRequest request) { try { var gameVersion = GameVersion; var userId = request.UserId; // 分布式锁 using (var zklock = new ZooKeeperLock($"/DefaultGameManager/GameUserShareAsync/{gameVersion}/{userId:N}")) { if (await zklock.WaitAsync(5000)) //如果锁释放 会立即执行,正常逻辑不会等待5秒钟 { var l = await DalGameUserShare.InsertGameUserShareAsync(new GameUserShareModel { ActivityId = gameVersion, UserId = userId }); if (l > 0) { return(null, null, new GameUserShareResponse() { }); } return("-10", Resource.Invalid_Game_AlreadyShare, null); } return("-6", Resource.Invalid_Game_TryAgain, null); } } catch (Exception e) { Logger.Error($"{ManagerName} -> GameUserShareAsync -> {JsonConvert.SerializeObject(request)} ", e.InnerException ?? e); throw; } }