/// <summary> /// 初始化玩家信息 /// </summary> /// <param name="bet"></param> private void initBet(WebSiteAbstractClass bet) { bet.set_OddsRangeBad(dblAcceptedOddDifferentBad); bet.set_OddsRangeBetter(dblAcceptedOddDifferentBetter); bet.get_BetQueueList().SetInfo(intBetCreateExpiredMin, intBetOddsExpiredSec); bet.set_BetQueueMaxAttempt(intBetAttempt); bet.set_SpiderMethod(EnumCollection.eSpiderMethod.Full); bet.set_Name(bet.get_WebsiteName() + "_" + bet.get_AccountID()); bet.set_IsToTryFuzzy(false); bet.set_IsToTryManualMatching(false); bet.set_IsSearchUsingSingleName(true); bet.set_IsToGetMatchResultList(false); bet.IsCanGetSoccer = true; bet.IsCanGetBasketball = true; bet.IsCanGetTennis = true; bet.IsCanGetFootball = true; bet.IsCanGetBaseball = true; //bet.IsCanGetBilliards = true; //bet.IsCanGetBadminton = true; }
/// <summary> /// 当投注额大于单场赛事限制投注额时,进行二分法投注 /// </summary> /// <param name="gamerSite">博彩网</param> /// <param name="message">下注消息</param> /// <param name="currentBet">当前下注对象</param> private void TryBetAgain(WebSiteAbstractClass gamerSite, string message, AgentToClientBet currentBet) { if (message.Contains(IBC_STAKE_DESC) || message.Contains(SBO_STAKE_DESC) || message.Contains(IBC_BETCREDIT_DESC) || message.Contains(SBO_BETCREDIT_DESC) || currentBet.get_SourceAgentMemberBet().BetFailCount > ConstUtil.BET_FAIL_COUNT) { PlayerBetLog log = setBetLogMessage(message); DataServiceAdapter.SavePlayerBetLog(log); currentBet.set_IsRemoved(true); } else if (message.Contains(IBC_PERLIMIT) || message.Contains(SBO_PERLIMIT)) { int betAmount = currentBet.get_TargetAmount(); String[] arrays = message.Split(SPLIT); // 当单场赛事投注达到限制投注额时,将赌注降低为原来的一半进行下注 if (arrays.Length == 2) { betAmount = Conversions.ToInteger(arrays[1]) / 2; } currentBet.set_TargetAmount(betAmount); currentBet.set_BetAmountValue(MARK_VALUE); if (!gamerSite.get_IsGettingFullOdds()) { gamerSite.GetOddsFromServer(); } List<MatchNew> newMatchNews = gamerSite.get_MatchListFull(); MatchNew oldMatchNew = currentBet.get_TargetClientMatch(); foreach (var newMatchNew in newMatchNews) { // 取最新的赛事数据 if (oldMatchNew.get_FT_ID() == newMatchNew.get_FT_ID()) { currentBet.set_TargetClientMatch(newMatchNew); break; } } } gamerSite.get_BetQueueList().UpdateBetMatchInfo(currentBet); }