internal override MarketEntityBase ToMarketEntity(int matchID, int stage) { if (OddsStatus == "closePrice") { return(null); } if (!Hdp.HasValue || !HomeOdds.HasValue || !AwayOdds.HasValue) { return(null); } if (Hdp.Value == 0 && HomeOdds.Value == 0 && AwayOdds.Value == 0) { return(null); } return(new MarketTwo() { CouID = MarketTools.CreateCouID(matchID, MarketID, Hdp.GetValueOrDefault()), MarketID = MarketID, Stage = stage, Hdp = Hdp.Value, HomeOdds = HomeOdds.Value, AwayOdds = AwayOdds.Value }); }
internal override MarketEntityBase ToMarketEntity(int matchID, int stage) { if (OddsStatus == "closePrice") { return(null); } if (!Draw.HasValue || !HomeOdds.HasValue || !AwayOdds.HasValue) { return(null); } if (Draw.Value == 0 && HomeOdds.Value == 0 && AwayOdds.Value == 0) { return(null); } return(new Market1x2() { CouID = MarketTools.CreateCouID(matchID, MarketID, 0), MarketID = MarketID, Stage = stage, HomeOdds = HomeOdds.Value, DrawOdds = Draw.Value, AwayOdds = AwayOdds.Value }); }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new Take1X2Dto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, CouID = MarketTools.CreateCouID(matchID, MarketID, 0), DrawOdds = DrawOdds, HomeOdds = HomeOdds, AwayOdds = AwayOdds, }); }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new TakeTotalGoalDto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, CouID = MarketTools.CreateCouID(matchID, MarketID, 0), Odds01 = Odds01, Odds23 = Odds23, Odds46 = Odds46, Odds70 = Odds70, }); }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new TakeTwoDto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, Tax = Tax, CouID = MarketTools.CreateCouID(matchID, MarketID, Hdp), Hdp = Hdp, HomeOdds = HomeOdds, AwayOdds = AwayOdds, Dubious = Dubious }); }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new TakeFglgDto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, CouID = MarketTools.CreateCouID(matchID, MarketID, 0), HFOdds = HFOdds, HLOdds = HLOdds, AFOdds = AFOdds, ALOdds = ALOdds, NGOdds = NOOdds, }); }
private void SendCloseCoupon(long couID) { if (MatchID == 0) { return; } var hdp = MarketTools.GetHdpByCouID(couID); var marketID = MarketTools.GetMarketIDByCouID(couID); Communicator.Send(TakeServerCommand.MarketClose, new TakeMarketClose() { CouID = MarketTools.CreateCouID(MatchID, marketID, hdp), TakeType = takeType, MarketID = marketID, MatchID = MatchID, Hdp = hdp }); }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new TakeHtFtDto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, CouID = MarketTools.CreateCouID(matchID, MarketID, 0), HHOdds = HHOdds, HAOdds = HAOdds, HDOdds = HDOdds, DHOdds = DHOdds, DAOdds = DAOdds, DDOdds = DDOdds, AHOdds = AHOdds, AAOdds = AAOdds, ADOdds = ADOdds, }); }
private void DoOK() { CommodityInfo commodityInfo = MarketManager.Instance.GetCommodityInfo(this.iId); if (commodityInfo != null) { if (!MarketTools.IsEnoughIntergral(this.iId)) { UIManagerControl.Instance.ShowToastText("段位不足"); return; } if (!MarketTools.IsEnoughMoney(BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(this.iId, 1), BaseMarketManager.CurrentManagerInstance.GetCommodityMoneyType(this.iId))) { UIManagerControl.Instance.OpenSourceReferenceUI(MoneyType.GetItemId(commodityInfo.moneyType), null); return; } MarketManager.Instance.SendBuyShopCommodity(MarketManager.Instance.CurrentShopID, this.iId); } }
internal override MarketBase ToTakeMarketDto(int matchID, int takeType) { return(new TakeCsDto() { MatchID = matchID, TakeType = takeType, MarketID = MarketID, CouID = MarketTools.CreateCouID(matchID, MarketID, 0), Odds00 = Odds00, Odds01 = Odds01, Odds02 = Odds02, Odds03 = Odds03, Odds04 = Odds04, Odds10 = Odds10, Odds11 = Odds11, Odds12 = Odds12, Odds13 = Odds13, Odds14 = Odds14, Odds20 = Odds20, Odds21 = Odds21, Odds22 = Odds22, Odds23 = Odds23, Odds24 = Odds24, Odds30 = Odds30, Odds31 = Odds31, Odds32 = Odds32, Odds33 = Odds33, Odds34 = Odds34, Odds40 = Odds40, Odds41 = Odds41, Odds42 = Odds42, Odds43 = Odds43, Odds44 = Odds44, Odds50 = Odds50, Odds05 = Odds05, AnyOdds = AnyOdds }); }
private void SetMoney(int num) { int num2; if (this.m_iId > 0) { num2 = BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(this.m_iId, num); } else { num2 = this.m_group_price * num; } bool flag = MarketTools.IsEnoughMoney(num2, this.m_money_type); string text = "x" + num2; if (flag) { this.CostNum = " " + text; } else { this.CostNum = " " + TextColorMgr.GetColorByID(text, 1000007); } }
private KeyValuePair <string, KeepOddsMatch>?DealOddsInfo(JToken jtoken, NormalParam normalParam, bool isExistMatch) { try { KeyValuePair <string, KeepOddsMatch>?updateKom = null; var keepOdds = KeepOddsManager.Instance.AddOrGetKeepOdds(normalParam.Stage); string oddsId = jtoken["oddsid"].ToString(); ParseOddsInfo poi = null; SrcMarketEntityBase smb = null; bool isUpdate = false; if (!keepOdds.OddsIdExist(oddsId)) { if (jtoken["matchid"] == null) { return(null); } string matchId = jtoken["matchid"].ToString(); if (!matchEntityManager.MatchExist(matchId)) { return(null); } var bettype = jtoken["bettype"].ToString(); poi = OddsFactory.CreatOdds(bettype); poi.CompareSet(jtoken, false); // 只处理需要的盘口类型 if (normalParam.LimitMarketIdList.Contains(poi.MarketId)) { KeepOddsMatch kom = null; if (!string.IsNullOrEmpty(poi.Resourceid)) { var mainMatch = matchEntityManager.Get(matchId); matchId = matchId + poi.Resourceid; if (mainMatch.SportID == 2) { var quarterMatch = matchEntityManager.Get(matchId); if (quarterMatch == null) {// 自生成篮球小节的比赛 var quarter = poi.Resourceid == "01" ? " - First Quarter" : poi.Resourceid == "02" ? " - Second Quarter" : poi.Resourceid == "03" ? " - Third Quarter" : poi.Resourceid == "03" ? " - Fourth Quarter" : " - UnKnown Quarter"; quarterMatch = matchEntityManager.GetOrAdd(matchId, mainMatch.SrcLeague + quarter, mainMatch.SrcHome, mainMatch.SrcAway, mainMatch.SrcMatchDate, mainMatch.SportID, true); } quarterMatch.CompareToStage(normalParam.Stage); kom = keepOdds.GetOrAdd(matchId); isUpdate = true; // 以更新盘口处理方式发送小节比赛里的盘口数据 } } else { kom = keepOdds.GetOrAdd(matchId); // 如果本次数据块中,新加的当前盘口之前并没有比赛信息,说明这个盘口数据是因为传输数据被分块,导致与比赛信息隔开了再发送的,此时这个盘口应当以更新方式发送 if (!isExistMatch) { isUpdate = true; } } if (kom == null) { return(null); } kom.UpdateOddsIdList(poi.MarketId, new List <string>() { oddsId }); if (MarketTools.CheckTwoMakret(poi.MarketId)) { smb = keepOdds.AddOrGetMarket <SrcMarketTwo>(oddsId); } else if (poi.MarketId == (int)MarketTypeEnum.H_1X2 || poi.MarketId == (int)MarketTypeEnum.F_1X2) { smb = keepOdds.AddOrGetMarket <SrcMarket1X2>(oddsId); } if (smb != null) { smb.SrcMatchId = matchId; smb.SrcCouID = oddsId; smb.Bettype = bettype; smb.MarketID = poi.MarketId; smb.OddsStatus = poi.OddsStatus; } } } else { // 更新的盘口直接更新缓存中 smb = keepOdds.GetMarket <SrcMarketEntityBase>(oddsId); if (smb != null) { poi = OddsFactory.CreatOdds(smb.Bettype); poi.MarketId = smb.MarketID; poi.CompareSet(jtoken); isUpdate = true; } } if (smb != null) { smb.SetOdds(poi.GetDataArr()); if (isUpdate) { updateKom = new KeyValuePair <string, KeepOddsMatch>(smb.SrcMatchId, keepOdds.GetOrAdd(smb.SrcMatchId)); } JsonSerializerSettings jsetting = new JsonSerializerSettings(); jsetting.NullValueHandling = NullValueHandling.Ignore; var str = JsonConvert.SerializeObject(smb, jsetting); Console.WriteLine("market = " + str); } //else //{ // //有些盘口是不需要的 // logger.Error("Cannot get market ParseOddsInfo = " + JsonConvert.SerializeObject(poi)); //} return(updateKom); } catch (Exception e) { logger.Error(e.ToString()); return(null); } }