public string UpdateBonusPool_CTZQ(string gameCode, string gameType, string issuseNumber, out int totalBonusCount) { var winNumber = ""; var bonusPoolList = GetBonusPoolList_CTZQ(gameCode, gameType, issuseNumber); totalBonusCount = bonusPoolList.Sum(b => b.BonusCount); using (var tran = new GameBizBusinessManagement()) { tran.BeginTran(); var bonusManager = new Ticket_BonusManager(); foreach (var info in bonusPoolList) { //string errMsg; //var analyzer = AnalyzerFactory.GetWinNumberAnalyzer(gameCode, gameType); //if (!analyzer.CheckWinNumber(info.MatchResult, out errMsg)) //{ // throw new FormatException(errMsg); //} winNumber = info.MatchResult; var entity = bonusManager.GetBonusPool(gameCode, gameType, issuseNumber, info.BonusLevel); if (entity == null) { entity = new Ticket_BonusPool { Id = info.Id, GameCode = gameCode, GameType = gameType, IssuseNumber = info.IssuseNumber, BonusLevel = info.BonusLevel, BonusCount = info.BonusCount, BonusLevelDisplayName = info.BonusLevelDisplayName, BonusMoney = info.BonusMoney, WinNumber = info.MatchResult, CreateTime = DateTime.Parse(info.CreateTime), }; bonusManager.AddBonusPool(entity); } else { entity.BonusCount = info.BonusCount; entity.BonusLevelDisplayName = info.BonusLevelDisplayName; entity.BonusMoney = info.BonusMoney; entity.WinNumber = info.MatchResult; entity.CreateTime = DateTime.Parse(info.CreateTime); bonusManager.UpdateBonusPool(entity); } } tran.CommitTran(); } return(winNumber); }
public void UpdateBonusPool_SZC(string gameCode, string issuseNumber) { var bonusPoolList = GetBonusPoolList_SZC(gameCode, issuseNumber); using (DB) { DB.Begin(); // tran.BeginTran(); try { var bonusManager = new Ticket_BonusManager(); foreach (var info in bonusPoolList.GradeList) { var entity = bonusManager.GetBonusPool(gameCode, "", issuseNumber, info.Grade); if (entity == null) { entity = new EntityModel.T_Ticket_BonusPool { Id = string.Format("{0}|{1}|{2}", bonusPoolList.GameCode, bonusPoolList.IssuseNumber, info.Grade), GameCode = gameCode, GameType = "", IssuseNumber = bonusPoolList.IssuseNumber, BonusLevel = info.Grade, BonusCount = info.BonusCount, BonusLevelDisplayName = info.GradeName, BonusMoney = info.BonusMoney, WinNumber = bonusPoolList.WinNumber, CreateTime = DateTime.Now, }; bonusManager.AddBonusPool(entity); } } DB.Commit(); } catch (Exception) { DB.Rollback(); throw; } } #region 对依赖奖池派奖的奖期派奖 //var issuse = new Ticket_IssuseManager(); //var iss_Entity = issuse.QueryIssuseListByIssuse(gameCode, issuseNumber); //if (iss_Entity != null && iss_Entity.Status == IssuseStatus.Awarding && !string.IsNullOrEmpty(iss_Entity.WinNumber)) //{ // var noticeIdList = PrizeIssuse(gameCode, issuseNumber, bonusPoolList.WinNumber); // try // { // new Thread(() => // { // try // { // foreach (var noticeId in noticeIdList) // { // // 开启线程发送通知 // //new Thread(() => admin.SendNotification(noticeId)).Start(); // SendNotification(noticeId); // } // } // catch (Exception ex) // { // Common.Log.LogWriterGetter.GetLogWriter().Write("TicketGateWayAdmin", "UpdateBonusPool_SZC", Common.Log.LogType.Information, "test", ex.ToString()); // } // }).Start(); // } // catch (Exception ex) // { // Common.Log.LogWriterGetter.GetLogWriter().Write("TicketGateWayAdmin2", "UpdateBonusPool_SZC", Common.Log.LogType.Information, "test", ex.ToString()); // } // //foreach (var noticeId in noticeIdList) // //{ // // // 开启线程发送通知 // // new Thread(() => SendNotification(noticeId)).Start(); // //} //} #endregion }