123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using FCS.Common;
- using FCS.Interface;
- using FCS.Models;
- using HtmlAgilityPack;
- using Quartz;
- namespace FCS.Crawler.ZCLotteryGames
- {
- class GamesJob : CommonJob, IJob
- {
-
- public GamesJob()
- {
- log = new LogHelper();
- services = IOC.Resolve<IDTOpenCode>();
- g = new F_Grouping();
- }
- public void Execute(IJobExecutionContext context)
- {
- //Config = CommonHelper.GetConfigFromDataMap(context.JobDetail.JobDataMap);
- // Click();
- }
- public static List<string> gamelist = new List<string>();
- public static List<string> urllist = new List<string>();
- public static List<string> urllist2 = new List<string>();
- public static List<F_Grouping> Group = new List<F_Grouping>();
- public static List<F_Grouping> Group1 = new List<F_Grouping>();
- public static List<F_Grouping> GroupParent = new List<F_Grouping>();
- public static List<F_Team> teamlist = new List<F_Team>();
- public static List<F_Grouping> GroupList = null;
- public static List<F_Grouping> GroupList1 = null;
- public static List<F_Games> Gamelist = null;
- public static List<F_Games> gamesList = new List<F_Games>();
- public static List<F_Games> gamesList_new = new List<F_Games>();
- public static List<F_Games> gamesList_new1 = new List<F_Games>();
- public static List<F_Games> gamesList_new2 = new List<F_Games>();
- public static List<int> listint = new List<int>();//需要删除的比赛PK
- F_Grouping g;
- public List<F_Games> Click()
- {
-
- string Season = DateTime.Now.ToString("yyyy");
- Group = services.Query<F_Grouping>().ToList();
- Group1 = services.Query<F_Grouping>(" and Id in( select aa.Id from F_Grouping as aa left join F_Games as b on aa.Id=b.GroupingId where b.[Status]!='a058ec2ec96ae811ab3100ac6a4a134f' and aa.Season like '%{0}%' and b.Season like '%{0}%' group by aa.Id)".FormatMe(Season)).ToList();
- Group1.AddRange(services.Query<F_Grouping>(" and Id in ( select aa.Id from F_Grouping as aa left join F_Games as b on aa.Id=b.GroupingId where b.Id is null and aa.Season like '%{0}%' group by aa.Id)".FormatMe(Season)).ToList());
- Gamelist = services.Query<F_Games>(" AND Season LIKE '%{0}%'".FormatMe(Season)).ToList();
- teamlist = services.Query<F_Team>().ToList();
- GroupList = Group1.Where(a => !a.Remark.Contains("/cup/41/")&&((a.ParentId.Length == 0 && a.Remark.Contains("/cup/")) || a.Remark.Contains("/league/"))).ToList();
- GroupParent = services.Query<F_Grouping>("and ParentId!=''").ToList();
- //GetClick("http://saishi.zgzcw.com:80/soccer/cup/59/2018-2019/", "第一圈", "ed091448f5c2e8118a7b2c4d54d3f5a9");
- int max = GroupList.Count;
- int num = 0;
- //比赛
- GroupList.ForEach(async p =>
- {
- await Task.Run(() =>
- {
- Trace.WriteLine("获取比赛 开始:" + GroupList.IndexOf(p));
- GetClick(p.Remark, p.Name.Trim(), p.Id);
- });
- lock (g)
- {
- num++;
- Monitor.Pulse(g); //完成,通知等待队列,告知已完,执行下一个。
- }
- });
- lock (g)
- {
- while (num < max)
- {
- Monitor.Wait(g);//等待
- }
- }
- Trace.WriteLine("获取比赛 完结");
- //球队联谊
- var q = Group.Where(a => a.Remark.Contains("/cup/41/") && a.Season.Contains(Season)).ToList();
- List<string> ulist = new List<string>();
- foreach (var item in q)
- {
- ulist.Add(item.Remark);
- }
- ulist = ulist.Distinct().ToList();
- foreach (var item in ulist)
- {
- GetCupData_yy(item, q);
- }
- ////检查缺漏
- List<string> new_urllist = new List<string>();
- new_urllist = urllist;
- max = new_urllist.Count;
- num = 0;
- urllist = new List<string>();
- new_urllist.ForEach(async p =>
- {
- await Task.Run(() =>
- {
- Trace.WriteLine("获取比赛 缺漏 开始:" + new_urllist.IndexOf(p));
- var query = p.Split('|');
- GetLeagueData(query[0], query[1], query[2]);
- });
- lock (g)
- {
- num++;
- Monitor.Pulse(g); //完成,通知等待队列,告知已完,执行下一个。
- }
- });
- lock (g)
- {
- while (num != max)
- {
- Monitor.Wait(g);//等待
- }
- }
- // Gamelist= Gamelist.Where((x, i) => Gamelist.FindIndex(z => z.GroupingId == x.GroupingId && z.VisitingTeamId == x.VisitingTeamId && z.HomeTeamId == x.HomeTeamId && z.HomeTeamScore_All == x.HomeTeamScore_All && z.VisitingTeamScore_All == x.VisitingTeamScore_All && z.HomeTeamScore_Half == x.HomeTeamScore_Half && z.VisitingTeamScore_Half == x.VisitingTeamScore_Half && z.EventId == x.EventId && z.Season == x.Season) == i).ToList();//Lambda表达式去重
- gamesList =gamesList.Where((x, i) => gamesList.FindIndex(z => z.GroupingId == x.GroupingId && z.VisitingTeamId == x.VisitingTeamId && z.HomeTeamId == x.HomeTeamId && z.HomeTeamScore_All == x.HomeTeamScore_All && z.VisitingTeamScore_All == x.VisitingTeamScore_All && z.HomeTeamScore_Half == x.HomeTeamScore_Half && z.VisitingTeamScore_Half == x.VisitingTeamScore_Half && z.EventId == x.EventId && z.Season == x.Season) == i).ToList();//Lambda表达式去重
- max = gamesList.Count;
- num = 0;
- int sss = 0;
- //比较比赛
- gamesList.ForEach(async p =>
- {
- await Task.Run(() =>
- {
- var istrue = Gamelist.Where(a => a.Season == p.Season && a.GroupingId == p.GroupingId && a.HomeTeamId == p.HomeTeamId && a.VisitingTeamId == p.VisitingTeamId && a.EventId == p.EventId&&a.StartDateTime==p.StartDateTime).ToList();
- //if(Gamelist.Where(a=>a.HomeTeamId== "ff8d81fa-3444-4e5d-955c-79049a722daa"&&a.VisitingTeamId== "5629c466-a3e4-4a1a-9826-0a5c86244f08"&&a.CreateDateTime>))
- if (istrue.Count > 0)
- {//已有比赛 判断是否需要更新数据
- var onegame = istrue.FirstOrDefault();
- if (onegame.HomeTeamScore_All != p.HomeTeamScore_All || onegame.HomeTeamScore_Half != p.HomeTeamScore_Half || onegame.VisitingTeamScore_All != p.VisitingTeamScore_All|| onegame.VisitingTeamScore_Half != p.VisitingTeamScore_Half || onegame.Status != "a058ec2ec96ae811ab3100ac6a4a134f")
- {
- lock (gamesList_new)
- {
- p.Id = onegame.Id;
- gamesList_new.Add(p);
- gamesList_new2.Add(p);
- }
- foreach (var item in istrue)
- {
- lock (listint)
- {
- listint.Add(item.PK);
- }
- }
-
- }
- else
- {
- //数据不做修改
- }
- }
- else
- {//没有次比赛 新增
- lock (gamesList_new)
- {
- gamesList_new.Add(p);
- }
- }
- });
- lock (locker)
- {
- num++;
- Monitor.Pulse(locker); //完成,通知等待队列,告知已完,执行下一个。
- }
- });
- lock (locker)
- {
- while (num < max)
- {
- Monitor.Wait(locker);//等待
- }
- }
- Thread.Sleep(5000);
- var gamesList_new1 = gamesList_new.Where(a => a.StartDateTime < DateTime.Now.AddDays(5)).ToList();
- var salist1 = gamesList_new.Where((x, i) => gamesList_new.FindIndex(z => z.GroupingId == x.GroupingId&&z.VisitingTeamId==x.VisitingTeamId && z.HomeTeamId == x.HomeTeamId && z.HomeTeamScore_All == x.HomeTeamScore_All && z.VisitingTeamScore_All == x.VisitingTeamScore_All && z.HomeTeamScore_Half == x.HomeTeamScore_Half && z.VisitingTeamScore_Half == x.VisitingTeamScore_Half&&z.EventId==x.EventId&&z.Season==x.Season && z.Id == x.Id) == i).ToList();//Lambda表达式去重
- //gamesList2 = gamesList_new2.Where(a => a.StartDateTime < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"))&& a.StartDateTime > Convert.ToDateTime(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))).ToList();
- Trace.WriteLine("插入数据 开始:" + salist1.Count);
- services.SqlBulkCopyAdd<F_Games>(salist1);
- Trace.WriteLine("插入数据 结束:" + salist1.Count);
- Trace.WriteLine("删除数据 开始:" + listint.Count);
- if (listint.Count > 0)
- {
- int pg = listint.Count % 10000 == 0 ? listint.Count / 10000 : listint.Count / 10000 + 1;
- for (int i = 0; i < pg; i++)
- {
- var listint1 = listint.Skip(i * 10000).Take(10000).ToList();
- services.Delete<F_Games>(" and PK in (" + string.Join(",", listint1) + ")");
- }
-
- }
-
- Trace.WriteLine("删除数据 结束:" + listint.Count);
- List<int> rlist = new List<int>();
- var querygame = services.Query<F_Games>(" and Id in (select Id from ( select Id,COUNT(Id) as num from F_Games group by Id) as s where s.num>1 ) ").ToList();
- var q1 = querygame.Where((x, i) => querygame.FindIndex(z => z.Id == x.Id) == i).ToList();//Lambda表达式去重
- foreach (var item in querygame)
- {
- if (q1.Where(a => a.PK == item.PK).ToList().Count > 0)
- {
- continue;
- }
- else
- {
- rlist.Add(item.PK);
- }
- }
- if (rlist.Count > 0)
- {
- int pg = rlist.Count % 10000 == 0 ? rlist.Count / 10000 : rlist.Count / 10000 + 1;
- for (int i = 0; i < pg; i++)
- {
- var listint1 = rlist.Skip(i * 10000).Take(10000).ToList();
- services.Delete<F_Games>(" and PK in (" + string.Join(",", listint1) + ")");
- }
- }
- return gamesList_new1;
- }
- public void DoMainUrl()
- {
- Group = services.Query<F_Grouping>().ToList();
- teamlist = services.Query<F_Team>().ToList();
- ThreadPool.SetMinThreads(1, 1);
- ThreadPool.SetMaxThreads(100, 100);
- GroupList = Group.Where(a => a.Remark.Contains("cup") && !a.Remark.Contains("/cup/41/")).ToList();
- //比赛杯
- GroupList.ForEach(p =>
- {
- Task.Run(() =>
- {
- Trace.WriteLine("获取比赛杯 开始:" + GroupList.IndexOf(p));
- GetCupData(p.Remark, p.Name.Trim(), p.Id);
- });
- });
- while (true)
- {
- if (CommonHelper.ThreadsFinsh())
- break;
- }
- Trace.WriteLine("获取比赛杯 完结");
- //球队联谊
- var q = Group.Where(a => a.Remark.Contains("cup") && a.Remark.Contains("/cup/41/")).ToList();
- List<string> ulist = new List<string>();
- foreach (var item in q)
- {
- ulist.Add(item.Remark);
- }
- ulist = ulist.Distinct().ToList();
- foreach (var item in ulist)
- {
- GetCupData_yy(item, q);
- }
- //国家比赛
- GroupList1 = Group.Where(a => a.Remark.Contains("league") && a.Name != "常规赛").ToList();
- GroupList1.ForEach(p =>
- {
- Task.Run(() =>
- {
- Trace.WriteLine("获取比赛 开始:" + GroupList1.IndexOf(p));
- GetLeagueData(p.Remark, p.Name.Trim(), p.Id);
- });
- });
- while (true)
- {
- if (CommonHelper.ThreadsFinsh())
- break;
- }
- //检查缺漏
- List<string> new_urllist = new List<string>();
- new_urllist = urllist;
- urllist = new List<string>();
- foreach (var item in new_urllist)
- {
- var query = item.Split('|');
- GetLeagueData(query[0], query[1], query[2]);
- }
- Trace.WriteLine("插入数据 开始:" + gamesList.Count);
- services.SqlBulkCopyAdd<F_Games>(gamesList);
- Trace.WriteLine("插入数据 结束:" + gamesList.Count);
- }
- /// <summary>
- /// 某某杯
- /// </summary>
- /// <param name="url"></param>
- public void GetCupData(string url, string currentRound, string Id)
- {
- try
- {
- Trace.WriteLine("某某杯 开始:" + url);
- string yurl = url;
- url = url.Replace(":80", "");
- var htmlResource = CommonHelper.GetHtmlString(url, "足彩");
- HtmlDocument doc = new HtmlDocument();
- if (htmlResource == null)
- return;
- doc.LoadHtml(htmlResource);
- //比赛分组集合
- HtmlNodeCollection GamegroupHtml = doc.DocumentNode.SelectNodes("//*[@id='tabs9']/li");
- foreach (var item in GamegroupHtml.Where(a => a.InnerText.Trim() == currentRound))
- {//获取父下所有子分组+比赛
- string shuju1 = "";
- if (GroupParent.Where(a => a.ParentId == Id).ToList().Count > 0)
- {//有子集比赛集合
- HtmlNodeCollection groupHtml = doc.DocumentNode.SelectNodes("//*[@id='tabs9_" + item.Id + "']");
- if (groupHtml == null)
- return;
- HtmlDocument doc_1 = new HtmlDocument();
- doc_1.LoadHtml(groupHtml[0].OuterHtml);
- HtmlNodeCollection groupHtmlnew = doc_1.DocumentNode.SelectNodes("//li");
- foreach (var item1 in groupHtmlnew)
- {
- var zj = GroupParent.Where(a => a.ParentId == Id && a.Name == item1.InnerText.Trim()).ToList();
- if(zj.Count==0)
- continue;
- //获取所有子集
- HtmlNodeCollection itemlist_1 = doc_1.DocumentNode.SelectNodes("//*[@id='div_" + item1.Id + "']/table");
- if (itemlist_1 == null)
- return;
- HtmlDocument doc2 = new HtmlDocument();
- doc2.LoadHtml(itemlist_1[0].OuterHtml);
- HtmlNodeCollection itemlist = doc2.DocumentNode.SelectNodes("//tr");
- foreach (HtmlNode node in itemlist)
- {
- var list = node.SelectNodes("td");
- if (list == null)
- continue;
- string shuju = shuju1;
- foreach (var item3 in list)
- {
- shuju += item3.InnerText.Trim() + "|";
- }
- //gamelist.Add(shuju);
- var listurl = url.Split('/');
- string season = listurl[6];
- HtmlDocument doc3 = new HtmlDocument();
- doc3.LoadHtml(list.Last().InnerHtml);
- HtmlNodeCollection itemlist2 = doc3.DocumentNode.SelectNodes("//a");
- Insert(shuju, zj[0].Id, season, itemlist2[0].Attributes["href"].Value);
- }
- }
-
- }
- else {
- //比赛集合
- HtmlNodeCollection GameHtml = doc.DocumentNode.SelectNodes("//*[@id='tabs9_" + item.Id + "']");
- foreach (var item1 in GameHtml)
- {
- HtmlDocument doc1 = new HtmlDocument();
- doc1.LoadHtml(item1.OuterHtml);
- HtmlNodeCollection itemlist = doc1.DocumentNode.SelectNodes("//table").Last().SelectNodes("//tr");
- foreach (HtmlNode node in itemlist)
- {
- var list = node.SelectNodes("td");
- if (list == null)
- continue;
- string shuju = shuju1;
- foreach (var item3 in list)
- {
- shuju += item3.InnerText.Trim() + "|";
- }
- //gamelist.Add(shuju);
- var listurl = url.Split('/');
- string season = listurl[6];
- HtmlDocument doc2 = new HtmlDocument();
- doc2.LoadHtml(list.Last().InnerHtml);
- HtmlNodeCollection itemlist2 = doc2.DocumentNode.SelectNodes("//a");
- Insert(shuju, Id, season, itemlist2[0].Attributes["href"].Value);
- }
- }
- }
-
-
- }
- }
- catch (Exception e)
- {
- Trace.WriteLine("某某杯 发生异常:" + url);
- }
- }
- public void GetClick(string url, string currentRound, string Id)
- {
- if (url.Contains("cup"))
- {
- GetCupData(url, currentRound, Id);
- }
- else
- {
- GetLeagueData(url, currentRound, Id);
- }
- }
- /// <summary>
- /// 某某杯 友谊
- /// </summary>
- /// <param name="url"></param>
- public void GetCupData_yy(string url, List<F_Grouping> glist)
- {
- string currentRound, Id;
- try
- {
- Trace.WriteLine("某某杯 开始:" + url);
- url = url.Replace(":80", "");
- var htmlResource = CommonHelper.GetHtmlString(url, "足彩");
- HtmlDocument doc = new HtmlDocument();
- if (htmlResource == null)
- return;
- doc.LoadHtml(htmlResource);
- //比赛分组集合
- HtmlNodeCollection GamegroupHtml = doc.DocumentNode.SelectNodes("//*[@id='tabs9']/li");
- foreach (var item in GamegroupHtml)
- {
- string shuju1 = "";
- //比赛集合
- HtmlNodeCollection GameHtml = doc.DocumentNode.SelectNodes("//*[@id='tabs9_" + item.Id + "']");
- foreach (var item1 in GameHtml)
- {
- HtmlDocument doc1 = new HtmlDocument();
- doc1.LoadHtml(item1.OuterHtml);
- HtmlNodeCollection itemlist = doc1.DocumentNode.SelectNodes("//table").Last().SelectNodes("//tr");
- foreach (HtmlNode node in itemlist)
- {
- var list = node.SelectNodes("td");
- if (list == null)
- continue;
- string shuju = shuju1;
- foreach (var item3 in list)
- {
- shuju += item3.InnerText.Trim() + "|";
- }
- //gamelist.Add(shuju);
- var listurl = url.Split('/');
- string season = listurl[6];
- HtmlDocument doc2 = new HtmlDocument();
- doc2.LoadHtml(list.Last().InnerHtml);
- HtmlNodeCollection itemlist2 = doc2.DocumentNode.SelectNodes("//a");
- var sss = glist.Where(a => a.Name.Trim() == item.InnerText.Trim() && a.Remark.Replace(":80", "") == url).FirstOrDefault();
- Id = glist.Where(a => a.Name.Trim() == item.InnerText.Trim() && a.Remark.Replace(":80", "") == url).FirstOrDefault() == null ? "" : glist.Where(a => a.Name.Trim() == item.InnerText.Trim() && a.Remark.Replace(":80", "") == url).FirstOrDefault().Id;
- Insert(shuju, Id, season, itemlist2[0].Attributes["href"].Value);
- }
- }
- }
- }
- catch (Exception e)
- {
- Trace.WriteLine("某某杯 发生异常:" + url);
- }
- }
- /// <summary>
- /// 国家赛事
- /// </summary>
- /// <param name="url"></param>
- public void GetLeagueData(string url, string currentRound, string Id)
- {
- string msg = "";
- try
- {
- Trace.WriteLine("国家赛事 开始:" + url);
- url = url.Replace(":80", "");
- int Round = -1;
- try
- {
- Round = Convert.ToInt32(currentRound);
- }
- catch (Exception e)
- {
- Round = -1;
- }
- if (Round != -1)
- {
- var listurl = url.Split('/');
- string source_league_id = listurl[5];
- string season = listurl[6];
- var html = CommonHelper.GetPostHtmlString(url, new HttpItem
- {
- Url = "http://saishi.zgzcw.com/summary/liansaiAjax.action",
- Method = "Post",
- WebProxy = new WebProxy(CommonHelper.GetIp()),
- FormData = new Dictionary<string, string>()
- {
- { "source_league_id" , source_league_id },
- { "currentRound",currentRound},
- { "season",season},
- { "seasonType",""},
- },
- ContentType = "application/x-www-form-urlencoded",
- });
- //常规赛
- msg = html.Html;
- HtmlDocument doc = new HtmlDocument();
- if (html.Html == null)
- return;
- doc.LoadHtml(html.Html);
- //比赛集合
- HtmlNodeCollection itemlist = doc.DocumentNode.SelectNodes("//table/tr");
- foreach (HtmlNode node in itemlist)
- {
- var list = node.SelectNodes("td");
- string shuju = "";
- foreach (var item3 in list)
- {
- shuju += item3.InnerText.Trim() + "|";
- }
- //gamelist.Add(shuju);
- HtmlDocument doc2 = new HtmlDocument();
- doc2.LoadHtml(list.Last().InnerHtml);
- HtmlNodeCollection itemlist2 = doc2.DocumentNode.SelectNodes("//a");
- Insert(shuju, Id, season, itemlist2[0].Attributes["href"].Value);
- }
- }
- else
- {
- var listurl = url.Split('/');
- string source_league_id = listurl[5];
- string season = listurl[6];
- var html = CommonHelper.GetPostHtmlString(url, new HttpItem
- {
- Url = "http://saishi.zgzcw.com/summary/liansaifjAction.action",
- Method = "Post",
- WebProxy = new WebProxy(CommonHelper.GetIp()),
- FormData = new Dictionary<string, string>()
- {
- { "source_league_id" , source_league_id},
- { "hostTeamId","0"},
- { "guestTeamId","0"},
- { "season",season},
- { "seasonType","1"},
- },
- ContentType = "application/x-www-form-urlencoded",
- });
- msg = html.Html;
- HtmlDocument doc = new HtmlDocument();
- if (html.Html == null)
- return;
- doc.LoadHtml(html.Html);
- //附加比赛集合
- HtmlNodeCollection itemlist = doc.DocumentNode.SelectNodes("//*[@id ='fjtab']/tr");
- if (itemlist == null)
- {
- Trace.WriteLine("附加赛没有数据" + url);
- return;
- }
- foreach (HtmlNode node1 in itemlist)
- {
- var list1 = node1.SelectNodes("td");
- string shuju = "";
- foreach (var item3 in list1)
- {
- shuju += item3.InnerText.Trim() + "|";
- }
- // gamelist.Add(shuju);
- HtmlDocument doc2 = new HtmlDocument();
- doc2.LoadHtml(list1.Last().InnerHtml);
- HtmlNodeCollection itemlist2 = doc2.DocumentNode.SelectNodes("//a");
- Insert(shuju, Id, season, itemlist2[0].Attributes["href"].Value);
- }
- }
- }
- catch (Exception e)
- {
- urllist.Add(url + "|" + currentRound + "|" + Id);
- Trace.WriteLine("某某杯 发生异常:" + url + "_:" + currentRound + ":_" + "__" + msg);
- }
- }
- /// <summary>
- /// 插入数据
- /// </summary>
- /// <param name="data"></param>
- /// <param name="Id"></param>
- /// <param name="Season"></param>
- public void Insert(string data, string Id, string Season, string url)
- {
- var query = data.Split('|');
- F_Games game = new F_Games();
- game.Id = CommonHelper.GetGuid().ToString();
- game.CreateDateTime = DateTime.Now;
- game.EventId = Group.Where(a => a.Id == Id).FirstOrDefault().EventId;
- game.EventType = Group.Where(a => a.Id == Id).FirstOrDefault().EventType;
- game.Heat = 0;
- var team = teamlist.Where(a => a.Name == query[1]).FirstOrDefault();
- if (team == null)
- return;
- game.HomeTeamId = team == null ? "" : team.Id;
- game.HomeTeamScore_All = query[2].Split(':')[0].TryToInt32();
- game.HomeTeamScore_Half = query[4].Split(':')[0].TryToInt32();
- game.IsOvertime = false;
- game.Remark = url;
- game.Season = Season;
- game.StartDateTime = Convert.ToDateTime(query[0]);
- game.Status = query[4] == "-:-" ? g1 : query[2] == "-:-" ? g2 : g3;
- team = teamlist.Where(a => a.Name == query[3]).FirstOrDefault();
- if (team == null)
- return;
- game.VisitingTeamId = team.Id;
- game.VisitingTeamScore_All = query[2].Split(':')[1].TryToInt32();
- game.VisitingTeamScore_Half = query[4].Split(':')[1].TryToInt32();
- game.GroupingId = Id;
- game.IsObtain = false;
- lock (gamesList)
- {
- gamesList.Add(game);
- }
-
- }
- private string g1 = "d0da55f0c86ae811ab3100ac6a4a134f", g2 = "907dbd11c96ae811ab3100ac6a4a134f", g3 = "a058ec2ec96ae811ab3100ac6a4a134f";
- }
- }
|