// 分配SeasonTable任务 public void SeasonTableAssignTask(BRBaseParam param, Dictionary <string, List <string> > taskDic) { foreach (var kv in taskDic) { if (kv.Key == "add") { kv.Value.ForEach(o => { SeasonTableParam st = param.CopyCreateParam <SeasonTableParam>(); st.SeasonTypeId = "21"; st.TableId = o; LeagueManager.AddOrUpdateParam(st); }); } else { kv.Value.ForEach(o => { SeasonTableParam st = param.CopyCreateParam <SeasonTableParam>(); st.SeasonTypeId = "21"; st.TableId = o; LeagueManager.RemoveParam(st); }); } } }
public void CheckSetHistoryParam(BRBaseParam param) { if (param.IsHistoryParam) { param.IsHistoryComplete = true; } }
// 分配SeasonType任务 public void SeasonTypeAssignTask(BRBaseParam param, Dictionary <string, List <string> > taskDic) { // 更新SeasonType任务,除了21类型,将在后面添加,因为需要tableId参数 foreach (var kv in taskDic) { if (kv.Key == "add") { kv.Value.ForEach(o => { SeasonTypeParam st = param.CopyCreateParam <SeasonTypeParam>(); st.SeasonTypeId = o; if (o != "21") { LeagueManager.AddOrUpdateParam(st); } }); } else { kv.Value.ForEach(o => { SeasonTypeParam st = param.CopyCreateParam <SeasonTypeParam>(); st.SeasonTypeId = o; LeagueManager.RemoveParam(st); }); } } }
public override void ProcessData(BaseData data) { BRBaseParam param = data.Param as BRBaseParam; BRData bd = data as BRData; var handle = HandleFactory.CreateHandle(param.HandleType); handle.Process(bd); }
public override void ExecuteTask(BaseParam param) { BRBaseParam bp = param as BRBaseParam; var url = bp.GetUrl(); var html = RequestPage(url); BRData data = new BRData() { Param = param, Html = html }; EnQueueData(data); }
public override void ExecuteTask(BaseParam baseParam) { BRBaseParam bp = baseParam as BRBaseParam; var url = bp.GetUrl(); var html = RequestPage(url); BRData data = new BRData() { Param = baseParam, Html = html }; EnQueueData(data); // 测试调整请求间隔时间 //IntervalsTime = 5 * 1000; // 最佳射手不需要请求数据,可以根据球员参赛记录加上最佳名单的点球数生成最佳射手名单 }
private void ProcessTeamIdsTxt(BRBaseParam param, string txt) { var xml = new XmlHelper(txt); var cdataFlag = "//c"; var cdata = xml.GetValues(cdataFlag); // 获取赛季名称 var title = xml.GetAttributeValue("//page", "title"); var seasonName = title.Split('>').Last(); SeasonEntity currentSeasonEntity = new SeasonEntity(); currentSeasonEntity.SportId = param.SportId; currentSeasonEntity.SeasonId = param.SeasonId; currentSeasonEntity.SeasonName = seasonName; var se = SeasonEntityManager.AddOrGetCacheEntity <SeasonEntity>(param.SeasonId); se.CompareSetSeasonInfo(currentSeasonEntity); // 获取赛季teamIds var root = GetHtmlRoot(cdata[1]); var ul = root.SelectSingleNode("//ul[@class='slickselect']"); if (ul == null || ul.ChildNodes == null) { return; } List <string> teamIdList = new List <string>(); foreach (var li in ul.ChildNodes) { var teamId = RegexGetStr(li.OuterHtml, "teamid','", "',"); teamIdList.Add(teamId); } var dic = se.CompareSetTeamIdList(teamIdList); TeamAssignTask(param, dic); }
// 分配Team任务 private void TeamAssignTask(BRBaseParam param, Dictionary <string, List <string> > taskDic) { foreach (var kv in taskDic) { if (kv.Key == "add") { kv.Value.ForEach(o => { TeamParam tp = param.CopyCreateParam <TeamParam>(); tp.TeamId = o; TeamManager.AddOrUpdateParam(tp); }); } else { kv.Value.ForEach(o => { TeamParam tp = param.CopyCreateParam <TeamParam>(); tp.TeamId = o; TeamManager.RemoveParam(tp); }); } } }
private void ProcessTableIdsTxt(BRBaseParam param, string txt) { var xml = new XmlHelper(txt); var cdataFlag = "//c"; var cdata = xml.GetValues(cdataFlag); // 解析SeasonType var root = GetHtmlRoot(cdata[1]); var ul = root.SelectSingleNode("//ul[@class='navtabs gismo']"); if (ul == null || ul.ChildNodes == null) { return; } List <string> list = new List <string>(); foreach (var li in ul.ChildNodes) { var seasonTypeId = RegexGetStr(li.OuterHtml, "seasontypeid','", "',"); var seasonTypeName = li.InnerText; if (!string.IsNullOrEmpty(seasonTypeId)) { var sti = SeasonTypeInfoManager.AddOrGetCacheEntity <SeasonTypeInfo>(param.SeasonId + "_" + seasonTypeId); sti.CompareSet(new SeasonTypeInfo() { SeasonId = param.SeasonId, SeasonType = seasonTypeId, Name = seasonTypeName }); list.Add(seasonTypeId); } } var se = SeasonEntityManager.AddOrGetCacheEntity <SeasonEntity>(param.SeasonId); var dic = se.CompareSetSeasonTypeList(list); // SeasonTypeAssignTask(param, dic); 除了type=21外的其他类型无需要的数据暂时不用请求处理 // 解析21类型即分组信息,并添加任务 var tableData = GetDataLikeKey(cdata, "template_cornerbox template_First"); if (string.IsNullOrEmpty(tableData)) { return; } root = GetHtmlRoot(tableData); var tableIdList = new List <string>(); var h2s = root.SelectNodes("//div[@class='multiview_wrap']/h2"); if (h2s == null) { return; } foreach (var h2 in h2s) { var tableId = RegexGetStr(h2.InnerHtml, "tableid','", "',"); tableIdList.Add(tableId); } var st = SeasonTypeInfoManager.AddOrGetCacheEntity <SeasonTypeInfo>(param.SeasonId + "_" + "21"); dic = st.CompareSetTabelIdList(tableIdList); SeasonTableAssignTask(param, dic); }