|
@@ -0,0 +1,97 @@
|
|
|
+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.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.Crawler.ZCLotteryTeam;
|
|
|
+using FCS.Interface;
|
|
|
+using FCS.Models;
|
|
|
+using Quartz;
|
|
|
+
|
|
|
+namespace FCS.Crawler
|
|
|
+{
|
|
|
+ public class Update_RealTimeJobCeshi : CommonJob, IJob
|
|
|
+ {
|
|
|
+ public void Execute(IJobExecutionContext context)
|
|
|
+ {
|
|
|
+ Config = CommonHelper.GetConfigFromDataMap(context.JobDetail.JobDataMap);
|
|
|
+ Click();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Click()
|
|
|
+ {
|
|
|
+ ThreadPool.SetMaxThreads(500, 500);
|
|
|
+ CommonHelper.LogBD("Update_RealTimeJobCeshi" + DateTime.Now);
|
|
|
+ Trace.WriteLine("Update_RealTimeJobCeshi" + DateTime.Now);
|
|
|
+
|
|
|
+ List<int> rlist = new List<int>();
|
|
|
+ var querygame = services.Query<F_Games>().ToList();
|
|
|
+ querygame = new List<F_Games>();
|
|
|
+ //var q1 = querygame.Where((x, i) => querygame.FindIndex(z => z.HomeTeamId == x.HomeTeamId&& z.VisitingTeamId == x.VisitingTeamId && z.StartDateTime == x.StartDateTime && z.GroupingId == x.GroupingId && z.Season == x.Season) == i).ToList();//Lambda表达式去重
|
|
|
+ //var q1 = querygame.OrderBy(a => a.CreateDateTime).GroupBy(p => new { p.HomeTeamId, p.VisitingTeamId, p.StartDateTime, p.GroupingId }).Select(g => g.Last()).ToList();
|
|
|
+ //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) + ")");
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ rlist = new List<int>();
|
|
|
+ var q2 = querygame.OrderBy(a => a.CreateDateTime).GroupBy(p => new { p.HomeTeamId, p.VisitingTeamId,p.GroupingId }).Select(g => g.Last()).ToList();
|
|
|
+ foreach (var item in q2)
|
|
|
+ {
|
|
|
+ if (querygame.Where(a => a.HomeTeamId == item.HomeTeamId && a.VisitingTeamId == item.VisitingTeamId && a.GroupingId == item.GroupingId).ToList().Count > 1)
|
|
|
+ {
|
|
|
+ var q3 = querygame.Where(a => a.HomeTeamId == item.HomeTeamId && a.VisitingTeamId == item.VisitingTeamId && a.GroupingId == item.GroupingId).ToList();
|
|
|
+ foreach (var item1 in q3)
|
|
|
+ {
|
|
|
+ if (item1.PK != item.PK)
|
|
|
+ {
|
|
|
+ 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) + ")");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ CommonHelper.LogBD("获取完Update_RealTimeJobToDay10" + DateTime.Now);
|
|
|
+ Trace.WriteLine("获取完Update_RealTimeJobToDay10" + DateTime.Now);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|