internal bool SyncMembersCore(Guid managerId, EnumArenaType arenaType, DTOBuffMemberView buffData, string siteId = "") { try { if (null == buffData) { return(false); } if (string.IsNullOrEmpty(siteId)) { int managerHash = ShareUtil.GetTableMod(managerId); //var idles = GetIdleMembers(managerId, buffData); string mSkills = FrameConvert.SkillListToText(buffData.ManagerSkills); int errorCode = 0; byte[] rowVer = BitConverter.GetBytes(buffData.UseSyncVersion); NbManagerbuffmemberMgr.SyncBatch(managerId, buffData.Kpi, string.Empty, mSkills, rowVer, ref rowVer, ref errorCode); if (errorCode != 0) { return(false); } buffData.UseSyncVersion = BitConverter.ToUInt64(rowVer, 0); } buffData.SyncIdleFlag = false; s_memBuffMember.Set(arenaType.ToString() + managerId.ToString(), buffData); return(true); } catch (Exception ex) { SystemlogMgr.Error(string.Format("BuffDataCore:Sync Manager[{0}]", managerId), ex); return(false); } }
public ConstellationPackbager(Guid managerId, string zoneId = "") { var package = ConstellationPackageMgr.GetById(managerId, zoneId); if (package == null) { try { package = new ConstellationPackageEntity(); package.ManagerId = managerId; package.PackageSize = 480; package.RowTime = DateTime.Now; package.ItemString = new byte[0]; ConstellationPackageMgr.Insert(package); package = ConstellationPackageMgr.GetById(managerId); } catch (Exception ex) { SystemlogMgr.Error("星座背包加数据", ex); package = null; } } _packageEntity = package; AnalysePackage(); }
/// <summary> /// 按数量删除物品 /// </summary> /// <param name="item"></param> /// <param name="count"></param> /// <returns></returns> public MessageCode Delete(ConstellationInfoEntity item, int count = 1, bool isUserDelete = false) { if (item != null) { if (item.Status == (int)EnumItemStatus.Locked) { return(MessageCode.ItemIsLocked); } try { if (count > 0 && item.ItemCount > count) { item.ItemCount -= count; return(Update(item, count * -1)); } else { _itemsDic.Remove(item.ItemId); _blanks.Add(item.GridIndex, item.GridIndex); Items.Remove(item); _itemCount--; _synchronized = false; return(MessageCode.Success); } } catch (Exception ex) { SystemlogMgr.Error("ConstellationPackageFrame Delete", ex); return(MessageCode.Exception); } } return(MessageCode.ItemNotExists); }
public List <MonitorDailyeventEntity> GetListForShow() { try { var list = MonitorDailyeventMgr.GetListForShow(ShareUtil.ZoneId); if (list != null) { foreach (var entity in list) { double date = Convert.ToDouble((DateTime.Now.Date - entity.OpenTime.Date).Days); if (date < 0) { date = 0; } entity.OpenTimeTick = ShareUtil.GetTimeTick(entity.OpenTime.AddDays(date)); entity.StartTimeTick = ShareUtil.GetTimeTick(entity.StartTime.AddDays(date)); entity.EndTimeTick = ShareUtil.GetTimeTick(entity.EndTime.AddDays(date)); } } return(list); } catch (Exception ex) { SystemlogMgr.Error("DailyEventThread-GetListForShow", ex); return(null); } }
/// <summary> /// 统计可领取的点卷 /// </summary> /// <param name="account"></param> /// <param name="managerId"></param> /// <returns></returns> public MessageCode CalculatePoint(string account, Guid managerId) { var list = FriendinviteMgr.InviteManagerList(account); foreach (var item in list) { var charge = PayCore.Instance.GetPayUser(item.ByAccount); if (charge == null) { continue; } try { //总可得到点卷 var sumPoint = charge.ChargePoint * CacheFactory.AppsettingCache.GetAppSettingToInt(EnumAppsetting.FriendinvitePoint) / 100; //未领取点卷 item.MayPrize = sumPoint - item.AlreadyPrize < 0 ? 0 : sumPoint - item.AlreadyPrize; FriendinviteMgr.Update(item); } catch (Exception ex) { SystemlogMgr.Error("好友邀请计算点卷出错", ex); return(MessageCode.NbParameterError); } } return(MessageCode.Success); }
private string StartGame(string openid, string state, string serverId, string nowTimestamp, string pf, string sessionId, string sign, string jsNeed, string nickName, string strCommon = "") { try { /* download-wyfth5.3333.cn/wyft1758/index.html?openid=pf+gid&state=xxx&serverId=8001&nowTimestamp=46546461321&pf=1758&sessionId&sign=xxx&jsNeed=0&nickName=xxx*/ if (WebServerHandler.SetStartGameEntity(ShareUtil.PlatformCode, ShareUtil.PlatformZoneName, openid, state, serverId, pf, sessionId, jsNeed, nickName, strCommon)) { ; } { return(UAErrorCode.ErrOther); } } catch (Exception ex) { SystemlogMgr.Error("txa8 Charge", ex); Response.Write("{\"ret\":\"fail\",\"msg\":\"系统异常" + ex + "\"}"); return(UAErrorCode.ErrException); } return(UAErrorCode.ErrOK); }
public void RunJob(DateTime nextTime) { _nextTime = nextTime; try { var list = RankMgr.GetRankList(_rankType, _domainId); if (list == null) { return; } if (_rankType == EnumRankType.LevelRank) { foreach (var entity in list) { var levelEntity = entity as RankLevelEntity; if (levelEntity != null) { levelEntity.Exp = levelEntity.Exp + CacheFactory.ManagerDataCache.GetTotalExp(levelEntity.Level); } } } _rankList = list; _totalRecord = _rankList.Count; _rankLinkDic = _rankList.ToDictionary(d => d.ManagerId, d => d); } catch (Exception ex) { SystemlogMgr.Error("RankHandler run job", "[" + _rankType + "]," + ex.Message, ex.StackTrace); } }
public MessageCode RefreshStatus() { DateTime date = DateTime.Now; foreach (var item in _transferDic.Values) { if (date >= item.TransferDuration) { item.Status = 3;//流拍。 从数据库删除 if (TransferMainMgr.Delete(item.TransferId)) { var mail = new MailBuilder(item.SellId, item.ItemCode, item.ItemName, EnumMailType.TransferRunOff); if (!mail.Save(item.SellZoneName)) { SystemlogMgr.Error("邮件发送失败", "邮件发送失败,ManagerId:" + item.SellId + ",ZoneName:" + item.SellZoneName + ",ItemCode:" + item.ItemCode); } Remove(item.TransferId); } } } foreach (var entity in _tenTransferList) { //过了10分钟的放到另外一个字典 if (entity.TransferStartTime.AddMinutes(10) < date) { _transferDic.TryAdd(entity.TransferId, entity); } } _tenTransferList = _tenTransferList.FindAll(r => r.TransferStartTime.AddMinutes(10) > date); Sort(); return(MessageCode.Success); }
MessageCode SaveExchange(CrossladderManagerEntity ladderManager, ItemPackageFrame package, CrossladderExchangerecordEntity ladderExchangerecord) { if (ladderManager == null || package == null || ladderExchangerecord == null) { return(MessageCode.NbUpdateFail); } try { if (!CrossladderManagerMgr.Update(ladderManager)) { return(MessageCode.NbUpdateFail); } if (!package.Save()) { return(MessageCode.NbUpdateFail); } if (!CrossladderExchangerecordMgr.Insert(ladderExchangerecord)) { return(MessageCode.NbUpdateFail); } return(MessageCode.Success); } catch (Exception ex) { SystemlogMgr.Error("CrossLadder-SaveExchange", ex); return(MessageCode.Exception); } }
/// <summary> /// 获取用户转盘信息 /// </summary> /// <param name="managerId"></param> /// <returns></returns> public GetTurntableInfoResponse GetManagerInfo(Guid managerId) { GetTurntableInfoResponse response = new GetTurntableInfoResponse(); response.Data = new TurntableInfo(); try { var turntable = new TurntableFrame(managerId); if (turntable == null) { return(ResponseHelper.Create <GetTurntableInfoResponse>((int)MessageCode.NbParameterError)); } var data = GetTurntableInfo(turntable); if (data == null) { return(ResponseHelper.Create <GetTurntableInfoResponse>((int)MessageCode.NbParameterError)); } response.Data = data; } catch (Exception ex) { SystemlogMgr.Error("获取经理转盘信息", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// 获取拍卖物品详情 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <param name="transferId"></param> /// <returns></returns> public TransferMainResponse GetTransferInfo(Guid managerId, string zoneName, Guid transferId) { TransferMainResponse response = new TransferMainResponse(); response.Data = new TransferMainEntity(); try { if (!IsOpen(managerId, zoneName)) { return(ResponseHelper.Create <TransferMainResponse>(MessageCode.TransferNotOpen)); } var entity = GetInfo(transferId); if (entity == null) { return(ResponseHelper.Create <TransferMainResponse>(MessageCode.ItemSoldOut)); } response.Data = entity; } catch (Exception ex) { SystemlogMgr.Error("获取拍卖详情", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
internal void Invoke(DateTime datetime) { // considered occasion that _scheduleTimes == -1 which means infinite if (!IsEnable || (_scheduleTimes >= 0 && _invokedTimes >= _scheduleTimes)) { return; } if (datetime < _nextInvokedDateTime) { return; } if (0 == Interlocked.Exchange(ref _syncInvoke, 1)) { try { InvokeImmediately(datetime); } catch (Exception ex) { SystemlogMgr.Error("Schedule info Invoke", ex); } finally { Interlocked.Exchange(ref _syncInvoke, 0); } } }
public static MessageCode AddItems(string zoneId, Guid managerId, int itemCode, int itemCount, int strength, bool isBinding, bool isDeal, int slotColorCount = 0) { try { var package = ItemCore.Instance.GetPackage(managerId, EnumTransactionType.AdminAddItem, zoneId); if (package == null) { return(MessageCode.NbParameterError); } var result = package.AddItems(itemCode, itemCount, strength, isBinding, isDeal, slotColorCount); if (result == MessageCode.Success) { bool isSuccess = package.Save(); if (isSuccess) { package.Shadow.Save(); } return(MessageCode.Success); } return(result); return(MessageCode.Exception); } catch (Exception ex) { SystemlogMgr.Error("Admin AddItems", ex); return(MessageCode.Exception); } }
public AdCache() { try { _prizeDic = new Dictionary <int, List <ConfigPenaltykickprizeEntity> >(); _exChangeList = new List <ConfigPenaltykickprizeEntity>(); var allPrize = ConfigPenaltykickprizeMgr.GetAll(); foreach (var item in allPrize) { if (item.PrizeType == 4) { _exChangeList.Add(item); } else { var key = GetKey(item.PrizeType, item.PrizeSub); if (!_prizeDic.ContainsKey(key)) { _prizeDic.Add(key, new List <ConfigPenaltykickprizeEntity>()); } _prizeDic[key].Add(item); } } } catch (Exception ex) { SystemlogMgr.Error("AdCache:Init", ex); } }
/// <summary> /// Builds the match info. /// </summary> /// <param name="ladderId">The ladder id.</param> /// <param name="group">The group.</param> /// <param name="home">The home.</param> /// <param name="away">The away.</param> /// <param name="fightDic">The fight dic.</param> private void BuildMatchInfo(Guid ladderId, int group, LadderManagerEntity home, LadderManagerEntity away, ConcurrentDictionary <Guid, LadderMatchEntity> fightDic) { try { //筛选条件,当两个玩家分差超过阀值,将他们扔到排队池里继续等待 //int tmpScore = home.Score - away.Score; //if (tmpScore <= _arenaLowScore || tmpScore >= _arenaHighScore) //{ // if (!home.IsBot) // LadderCore.Instance.PushFightToCompetitor(home.Clone()); // if (!away.IsBot) // LadderCore.Instance.PushFightToCompetitor(away.Clone()); // return; //} var matchId = ShareUtil.GenerateComb(); var ladderMatch = new LadderMatchEntity(home, away, matchId, ladderId, group + 1); fightDic.TryAdd(ladderMatch.Idx, ladderMatch); MemcachedFactory.LadderMatchClient.Set(ladderMatch.Idx, ladderMatch); //更新经理-比赛关联字典 if (!home.IsBot) { LadderCore.Instance.ManagerFightDic[home.ManagerId] = matchId; } if (!away.IsBot) { LadderCore.Instance.ManagerFightDic[away.ManagerId] = matchId; } } catch (Exception ex) { SystemlogMgr.Error("LadderThread-BuildMatchInfo", ex.Message, ex.StackTrace); } }
/// <summary> /// 位置不适应 -BUFF /// </summary> /// <param name="buffMember">Buff列表</param> /// <param name="ballParkPoint">场上位置</param> /// <param name="playerposition">球员最佳位置</param> private static void CheckBuff(NbManagerbuffmemberEntity buffMember, string ballParkPoint, string playerposition) { try { var config = CacheFactory.FormationCache.GetFormationPoint(playerposition, ballParkPoint); if (config == null) { return; } buffMember.AccelerationConst = buffMember.AccelerationConst * config.Buff / 100; buffMember.AggressionConst = buffMember.AggressionConst * config.Buff / 100; buffMember.BalanceConst = buffMember.BalanceConst * config.Buff / 100; buffMember.BounceConst = buffMember.BounceConst * config.Buff / 100; buffMember.DisturbConst = buffMember.DisturbConst * config.Buff / 100; buffMember.DribbleConst = buffMember.DribbleConst * config.Buff / 100; buffMember.FreeKickConst = buffMember.FreeKickConst * config.Buff / 100; buffMember.HandControlConst = buffMember.HandControlConst * config.Buff / 100; buffMember.InterceptionConst = buffMember.InterceptionConst * config.Buff / 100; buffMember.MentalityConst = buffMember.MentalityConst * config.Buff / 100; buffMember.PassConst = buffMember.PassConst * config.Buff / 100; buffMember.PhysiqueConst = buffMember.PhysiqueConst * config.Buff / 100; buffMember.PositioningConst = buffMember.PositioningConst * config.Buff / 100; buffMember.PowerConst = buffMember.PowerConst * config.Buff / 100; buffMember.ResponseConst = buffMember.ResponseConst * config.Buff / 100; buffMember.ShootConst = buffMember.ShootConst * config.Buff / 100; buffMember.SpeedConst = buffMember.SpeedConst * config.Buff / 100; } catch (Exception ex) { SystemlogMgr.Error("位置不适应 -BUFF", ex.ToString(), ballParkPoint + "__" + playerposition); } }
/// <summary> /// Builds the bot. /// </summary> private void BuildBot(LadderInfoEntity ladderInfo) { var managerFightList = ladderInfo.FightList; var competitorCount = managerFightList.Count; try { var botCount = 4 - competitorCount % 4; if (botCount > 0 && botCount < 4) { managerFightList.Sort(new CompareArenaManager()); var minScore = managerFightList[0].Score; var maxScore = managerFightList[competitorCount - 1].Score; var botList = LadderManagerMgr.GetBot(botCount, minScore, maxScore); if (botList != null) { foreach (var list in botList) { list.Name = _botName; list.IsBot = true; managerFightList.Add(list); } } } } catch (Exception ex) { SystemlogMgr.Error("LadderThread-BuildBot", ex.Message, ex.StackTrace); } }
/// <summary> ///随机得到一个奥运金牌 /// </summary> /// <param name="managerId"></param> /// <param name="getType"></param> /// <returns></returns> public int GetOlympicTheGoldMedal(Guid managerId, EnumOlympicGeyType getType) { try { if (!IsActivity) { return(0); } if (!_theGoldMedalRate.ContainsKey((int)getType)) { return(0); } foreach (var item in _theGoldMedalRate[(int)getType]) { if (RandomHelper.CheckPercentage(item.Rate)) { if (AddTheGoldMedal(managerId, item.TheGoldMedalId, 1)) { return(item.TheGoldMedalId); } } } } catch (Exception ex) { SystemlogMgr.Error("奥运金牌", ex); } return(0); }
/// <summary> /// 获取公告 /// </summary> /// <param name="platform"></param> /// <returns></returns> public GetPlatformAnnouncementResponse GetPlatformAnnouncement(string platform = "") { GetPlatformAnnouncementResponse response = new GetPlatformAnnouncementResponse(); response.Data = new GetPlatformAnnouncement(); try { if (platform == "") { platform = "all"; } var announcement = GetAnnouncement(platform); if (announcement == null) { announcement = GetAnnouncement("all"); } response.Data.AnnouncementList = new List <AnnouncementEntity>(); if (announcement != null) { response.Data.AnnouncementList.Add(announcement); } if (_TopAnnouncementDic != null) { response.Data.AnnouncementList.Add(_TopAnnouncementDic); } } catch (Exception ex) { SystemlogMgr.Error("获取公告", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// 天梯赛清除CD参数 /// </summary> /// <param name="managerId"></param> /// <returns></returns> public LadderClearCDParaResponse LadderClearCDPara(Guid managerId) { LadderClearCDParaResponse response = new LadderClearCDParaResponse(); response.Data = new LadderClearCDPara(); try { if (_ManagerMatchCD.ContainsKey(managerId)) { if (DateTime.Now >= _ManagerMatchCD[managerId]) { response.Code = (int)MessageCode.LadderCdEnd; } var manager = ManagerCore.Instance.GetManager(managerId); if (manager.VipLevel > 0) { response.Data.Point = LadderVipClearCDPrice; } else { response.Data.Point = LadderNotVipClearCDPrice; } } else { response.Code = (int)MessageCode.LadderCdEnd; } } catch (Exception ex) { SystemlogMgr.Error("天梯赛清除cd参数", ex); } return(response); }
/// <summary> /// 获取签到信息 /// </summary> /// <param name="managerId"></param> /// <returns></returns> public DailyAttendanceInfoResponse GetDailyAttendanceInfo(Guid managerId) { try { var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { return(ResponseHelper.InvalidParameter <DailyAttendanceInfoResponse>()); } int days; var dailyAttendManager = GetManager(managerId, manager.Name, out days); var response = ResponseHelper.Create <DailyAttendanceInfoResponse>(MessageCode.Success); response.Data = new DailyAttendanceInfo { AttendTimes = dailyAttendManager.AttendTimes, MaxAttendTimes = days, IsAttend = dailyAttendManager.IsAttend }; //IsAttendance = dailyAttendManager.IsAttend; return(response); } catch (Exception ex) { SystemlogMgr.Error("GetDailyAttendanceInfo", ex); return(ResponseHelper.Create <DailyAttendanceInfoResponse>(MessageCode.Exception)); } }
MessageCode SaveExchange(LadderManagerEntity ladderManager, ItemPackageFrame package, LadderExchangerecordEntity ladderExchangerecord) { if (ladderManager == null || package == null || ladderExchangerecord == null) { return(MessageCode.NbUpdateFail); } try { using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); var messageCode = Tran_SaveExchange(transactionManager.TransactionObject, ladderManager, package, ladderExchangerecord); if (messageCode == ShareUtil.SuccessCode) { transactionManager.Commit(); } else { transactionManager.Rollback(); } return(messageCode); } } catch (Exception ex) { SystemlogMgr.Error("SaveExchange", ex); return(MessageCode.Exception); } }
/// <summary> /// 获取好友邀请成长奖励 /// </summary> /// <param name="account"></param> /// <param name="managerId"></param> /// <returns></returns> public InviteFriendGrowUpPrizeResponse GetInviteFriendGrowUpPrize(string account, Guid managerId) { InviteFriendGrowUpPrizeResponse response = new InviteFriendGrowUpPrizeResponse(); response.Data = new InviteFriendGrowUpPrize(); response.Data.ManagerList = new List <FriendManagerInfo>(); try { var list = GetFrindInviteList(account); if (list == null) { return(response); } var mayPrize = list.Sum(r => r.MayPrize); response.Data.IsHavePrize = mayPrize > 0; response.Data.NotPoint = mayPrize; response.Data.AlreadyPoint = list.Sum(r => r.AlreadyPrize); foreach (var item in list) { FriendManagerInfo info = new FriendManagerInfo(); info.HavePoint = item.AlreadyPrize; info.Level = item.NLevel; info.Name = item.Name; response.Data.ManagerList.Add(info); } } catch (Exception ex) { SystemlogMgr.Error("获取好友邀请成长奖励", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// Inits the cache. /// </summary> void InitCache() { try { var seasonList = LadderSeasonMgr.GetAll(); _seasonDic = seasonList.ToDictionary(d => d.Idx, d => d); DateTime curDate = DateTime.Today.AddDays(-31); int count = 0; _dateSeasonDic = new Dictionary <DateTime, LadderSeasonEntity>(600); foreach (var entity in seasonList) { if (entity.Enddate >= curDate) { var date = entity.Enddate.Subtract(entity.Startdate).TotalDays + 1; for (int i = 0; i < date; i++) { _dateSeasonDic.Add(entity.Startdate.AddDays(i), entity); } count++; if (count > 40) { return; } } } } catch (Exception ex) { SystemlogMgr.Error("SeasonCache-InitCache", ex); } }
public MatchProcessResponse GetMatchProcess(Guid matchId, int matchType) { try { var baseData = MemcachedFactory.MatchClient.Get <BaseMatchData>(matchId); if (baseData != null) { if (baseData.ErrorCode != (int)MessageCode.Success) { return(ResponseHelper.Create <MatchProcessResponse>(baseData.ErrorCode)); } } var process = MemcachedFactory.MatchProcessClient.Get <byte[]>(matchId); if (process == null) { process = proxy.GetMatchProcess(matchId, matchType); if (process == null) { return(ResponseHelper.Create <MatchProcessResponse>(MessageCode.MatchMiss)); } } var response = ResponseHelper.CreateSuccess <MatchProcessResponse>(); response.Data = process; return(response); } catch (Exception ex) { SystemlogMgr.Error("GetMatchProcess", ex); return(ResponseHelper.Exception <MatchProcessResponse>()); } }
/// <summary> /// 停止所有挂机 /// </summary> /// <returns></returns> public MessageCode StopHookJob() { try { var hooklist = _hookDic.Values.ToList(); foreach (var item in hooklist) { try { if (HookEnd(item.ManagerId, EnumHookStatus.Stop)) { LadderCore.Instance.LeaveLadder(item.ManagerId); } } catch (Exception ex) { SystemlogMgr.Error("停止天梯赛挂机", ex); } } } catch (Exception ex) { SystemlogMgr.Error("CheckStatusJob", ex); return(MessageCode.Exception); } CreateHook(); return(MessageCode.Success); }
/// <summary> /// 更新物品 /// </summary> /// <param name="item">物品</param> /// <returns>成功返回true</returns> public MessageCode Update(ConstellationInfoEntity item, int operationCount = 1) { if (!CheckLapover(item.ItemType, item.ItemCount)) { return(MessageCode.ItemLapOver); } try { for (int i = 0; i < Items.Count; i++) { if (Items[i].Equals(item)) { Items[i] = item; _synchronized = false; return(MessageCode.Success); } } } catch (Exception ex) { SystemlogMgr.Error("ConstellationPackageFrame Update", ex); return(MessageCode.Exception); } return(MessageCode.ItemNotExists); }
/// <summary> /// Runs the arena. /// </summary> void RunLadder() { _needClearFightDic = false; LadderInfoEntity ladderInfo = LadderCore.Instance.GetCompetitorToMatch(); //更新最近一次平均等待时间 var avgWaitTime = CalAvgWaitSecond(ladderInfo.GroupingTime, ladderInfo.FightList); LadderCore.Instance.RecentlyAvgWaitSecond = avgWaitTime; //开始获取机器人 BuildBot(ladderInfo); var playerNumber = ladderInfo.FightList.Count; if (playerNumber % 4 != 0)//检查玩家数量是否是4的倍数 { //将天梯赛服务状态置为结束 LadderCore.Instance.Status = EnumLadderStatus.End; //将上一轮比赛的经理池清空,暂时没有异常回退方案 LadderCore.Instance.ManagerFightDic = new Dictionary <Guid, Guid>(); SystemlogMgr.Info("LadderThread", "The player is " + playerNumber.ToString() + " not multiple of 4"); return; } //开始分组 var fightDic = new ConcurrentDictionary <Guid, LadderMatchEntity>(); Grouping(ladderInfo, fightDic); LadderRunEnd(); //将天梯赛数据扔到Process中 ladderInfo.CountdownTime = DateTime.Now; ladderInfo.PlayerNumber = playerNumber; ladderInfo.AvgWaitTime = avgWaitTime; _nbThreadPool.Add(() => RunMatch(fightDic, ladderInfo)); }
MessageCode Save_TranReceiveBindPoint(PayUserEntity payUser, InvestManagerEntity investInfo) { try { using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); var code = Tran_ReceiveBindPoint(payUser, investInfo, transactionManager.TransactionObject); if (code == ShareUtil.SuccessCode) { transactionManager.Commit(); } else { transactionManager.Rollback(); } return(code); } } catch (Exception ex) { SystemlogMgr.Error("ReceiveBindPoint", ex); return(MessageCode.Exception); } }
static string GetSession(string key, bool withTime, out DateTime setTime) { setTime = DateTime.Now; string val = string.Empty; try { val = MemcachedFactory.OnlineSessionClient.Get <string>(key); if (!string.IsNullOrEmpty(val)) { if (withTime && val.Length >= 19) { DateTime.TryParseExact(val.Substring(0, 19), "yyyy-MM-dd HH:mm:ss", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out setTime); val = val.Substring(19); if (DateTime.Now.Subtract(setTime).TotalSeconds >= _expireTime / 2) { SetSession(key, val, withTime); } } } } catch (Exception ex) { SystemlogMgr.Error("OnlineRules:SetSession", ex); } return(val); }