| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using FCS.Common;
- using FCS.Crawler.Basketball;
- using FCS.Crawler.ZCLotteryAgainst;
- using FCS.Crawler.ZCLotteryAsianDish;
- using FCS.Crawler.ZCLotteryGames;
- using FCS.Crawler.ZCLotteryGrouping;
- using FCS.Crawler.ZCLotteryIP;
- using FCS.Crawler.ZCLotteryMatchs;
- using FCS.Crawler.ZCLotteryScore;
- using FCS.Crawler.ZCLotterySizeIndex;
- using FCS.Interface;
- using FCS.Models;
- using FCS.Models.DTO;
- using FCS.Models.Entity;
- using HtmlAgilityPack;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using Quartz;
- using static FCS.Crawler.ZCLotteryAsianDish.AsianDishJob;
- namespace FCS.Crawler
- {
- public class UpdateJob : CommonJob, IJob
- {
- public UpdateJob()
- {
- logName = "UpdateJob";
- }
- public void Execute(IJobExecutionContext context)
- {
- Config = CommonHelper.GetConfigFromDataMap(context.JobDetail.JobDataMap);
- Click();
- }
- public void Click()
- {
- ThreadPool.SetMaxThreads(200, 200);
- CommonHelper.LogBD("Update开始", logName);
- new IPJob().GetIP();
- CommonHelper.LogBD("IP结束", logName);
- taskList.Add(Task.Run(() =>
- {
- new FootballMatchJob().GetAll();
- CommonHelper.LogBD("FootballMatchJob结束", logName);
- new GroupingJob().Click();
- CommonHelper.LogBD("GroupingJob结束 足球分支结束", logName);
- }));
- taskList.Add(Task.Run(() =>
- {
- new B_GroupingJob().Click();
- CommonHelper.LogBD("B_GroupingJob结束", logName);
- new B_TeamJob().GetAll();
- CommonHelper.LogBD("B_TeamJob结束", logName);
- new B_PlayerJob().GetAll();
- CommonHelper.LogBD("B_PlayerJob结束", logName);
- new B_GamesJob().Click();
- CommonHelper.LogBD("B_GamesJob结束", logName);
- new B_TeamStatisticsJob().Click();
- CommonHelper.LogBD("B_TeamStatisticsJob结束", logName);
- new B_SizeBallRankingJob().Click();
- CommonHelper.LogBD("B_SizeBallRankingJob结束", logName);
- new B_PlayersStatisticsJob().Click();
- CommonHelper.LogBD("B_PlayersStatisticsJob结束", logName);
- new B_MakeBallRankingJob().Click();
- CommonHelper.LogBD("B_MakeBallRankingJob结束", logName);
- new B_LeagueRankingJob().Click();
- CommonHelper.LogBD("B_LeagueRankingJob结束 篮球结束", logName);
- }));
- Task.WaitAll(taskList.ToArray());
- new GamesJob().Click();
- //CommonHelper.LogBD("GamesJob结束 开始赔率", logName);
- //ThreadPool.SetMaxThreads(50, 50);
- //new Update_RealTimeJobToDay10().Click();
- CommonHelper.LogBD("Update结束", logName);
- }
- }
- public class Update_Odd : CommonJob
- {
- List<DataItemDetail> bankerCompanyList = new List<DataItemDetail>();
- List<BankerCompanyRelation> relationList = new List<BankerCompanyRelation>();
- Dictionary<string, string> bankerCompanyType = new Dictionary<string, string>();
- List<BankerCompany> companyList = new List<BankerCompany>();
- List<F_Compensate> compList = new List<F_Compensate>();
- string jishi, kaili, fanhuan, gailv;
- List<company5List> jishiList;
- public Update_Odd()
- {
- bankerCompanyList = services.GetDataItem(DataItemDetailEnum.BankerCompanyType);
- var compTypeList = services.GetDataItem(DataItemDetailEnum.FootBallEuropeOddsType);
- jishi = compTypeList.Where(p => p.Name.Contains("即时赔率")).ToList()[0].Id;
- kaili = compTypeList.Where(p => p.Name.Contains("凯利指数")).ToList()[0].Id;
- fanhuan = compTypeList.Where(p => p.Name.Contains("返还率")).ToList()[0].Id;
- gailv = compTypeList.Where(p => p.Name.Contains("概率")).ToList()[0].Id;
- }
- public void OddJob()
- {
- var gameList = services.Query<F_Games>($" AND StartDateTime BETWEEN {DateTime.Now.AddDays(-10).ToString("yyyy-MM-dd")} AND {DateTime.Now.AddDays(10).ToString("yyyy-MM-dd")}", "", "a.Id,a.Remark").ToList();
- gameList.ForEach(p =>
- {
- taskList.Add(Task.Run(() =>
- {
- var url = " http://fenxi.zgzcw.com/{0}/bjop".FormatMe(p.Remark.Split('/')[p.Remark.Split('/').Length - 2]);
- var doc = CommonHelper.GetHtmlHtmlDocument(new HtmlParameterDTO { Url = url, Timeout = 10000, NotIpNumber = 100, Title = "足彩" });
- var makeBallRanking = doc.DocumentNode.SelectSingleNode(".//[@id='com-type']").SelectNodes(".//option");
- GetDictType(makeBallRanking);//获取类型
- var table = doc.DocumentNode.SelectSingleNode(".//[@id='data-body']").SelectNodes(".//table");
- foreach (var tableItem in table)
- {
- var tr = tableItem.SelectNodes(".//tr");
- foreach (var trItem in tr)
- {
- var td = trItem.SelectNodes(".//td");
- compList.Add(new F_Compensate
- {
- BankerCompanyId = GetBankerCompany(td[1].InnerText, td[1].Attributes["data"].Value, url),
- GameId = p.Id,
- Remark = url,
- SOdd = double.Parse(td[2].InnerText),
- POdd = double.Parse(td[3].InnerText),
- FOdd = double.Parse(td[4].InnerText),
- CompensateType = jishi,
- ChangeDateTime = DateTime.Parse("2001-01-01"),
- CreateDateTime = DateTime.Now,
- });
- compList.Add(new F_Compensate
- {
- BankerCompanyId = GetBankerCompany(td[1].InnerText, td[1].Attributes["data"].Value, url),
- GameId = p.Id,
- Remark = url,
- SOdd = double.Parse(td[9].InnerText),
- POdd = double.Parse(td[10].InnerText),
- FOdd = double.Parse(td[11].InnerText),
- CompensateType = gailv,
- ChangeDateTime = DateTime.Parse("2001-01-01"),
- CreateDateTime = DateTime.Now,
- });
- compList.Add(new F_Compensate
- {
- BankerCompanyId = GetBankerCompany(td[1].InnerText, td[1].Attributes["data"].Value, url),
- GameId = p.Id,
- Remark = url,
- SOdd = double.Parse(td[12].InnerText),
- POdd = double.Parse(td[13].InnerText),
- FOdd = double.Parse(td[14].InnerText),
- CompensateType = gailv,
- ChangeDateTime = DateTime.Now,
- CreateDateTime = DateTime.Now,
- });
- compList.Add(new F_Compensate
- {
- BankerCompanyId = GetBankerCompany(td[1].InnerText, td[1].Attributes["data"].Value, url),
- GameId = p.Id,
- Remark = url,
- SOdd = double.Parse(td[15].InnerText),
- CompensateType = fanhuan,
- ChangeDateTime = DateTime.Now,
- CreateDateTime = DateTime.Now,
- });
- GetCompensate_JS(new F_Compensate
- {
- BankerCompanyId = GetBankerCompany(td[1].InnerText, td[1].Attributes["data"].Value, url),
- GameId = p.Id,
- Remark = url,
- }, td[1].InnerText);
- }
- }
- }));
- });
- Task.WaitAll(taskList.ToArray());
- var aa = compList;
- }
- public void GetCompensate_JS(F_Compensate model, string bankerCompanyName)
- {
- if (jishiList.IsEmpty())
- {
- var url = " http://fenxi.zgzcw.com/{0}/bjop".FormatMe(model.Remark.Split('/')[model.Remark.Split('/').Length - 2]);
- var doc = CommonHelper.GetHtmlString(new HtmlParameterDTO { Url = url, Timeout = 10000, NotIpNumber = 100, Title = "足彩" });
- var obj = JsonConvert.DeserializeObject<JObject>(doc);
- jishiList = JsonConvert.DeserializeObject<List<company5List>>(obj["company5List"].ToString());
- }
- var objw1 = jishiList.Where(a => a.attribute.name == bankerCompanyName).FirstOrDefault();
- if (objw1 == null)
- return;
- foreach (var item in objw1.c)
- {
- var data = item.attribute;
- compList.Add(new F_Compensate
- {
- Id = CommonHelper.GetGuid().ToString(),
- GameId = model.GameId,
- Remark = model.Remark,
- BankerCompanyId = model.BankerCompanyId,
- CreateDateTime = DateTime.Now,
- ChangeDateTime = item.attribute.wdate.TryToDateTime(),
- SOdd = Convert.ToDouble(item.attribute.win),
- POdd = Convert.ToDouble(item.attribute.same),
- FOdd = Convert.ToDouble(item.attribute.lost),
- CompensateType = jishi,
- });
- }
- }
- public string GetBankerCompany(string name, string typeName, string url)
- {
- var id = CommonHelper.GetGuid().ToString();
- companyList.Add(new BankerCompany
- {
- Name = name,
- CreateDateTime = DateTime.Now,
- Id = id,
- Remark = url
- });
- return id;
- }
- public void GetMakeBallRanking(string id, string type)
- {
- var name = bankerCompanyType[type];
- relationList.Add(new BankerCompanyRelation
- {
- Id = CommonHelper.GetGuid().ToString(),
- CreateDateTime = DateTime.Now,
- BankerCompanyId = id,
- BankerCompanyType = bankerCompanyList.Where(p => p.Name == name).ToList()[0].Id,
- Remark = name,
- });
- }
- public void GetDictType(HtmlNodeCollection data)
- {
- foreach (var item in data)
- {
- bankerCompanyType.Add(item.Attributes["value"].Value, item.InnerText);
- }
- }
- }
- }
|