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 rlist = new List(); var querygame = services.Query().ToList(); querygame = new List(); //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(" and PK in (" + string.Join(",", listint1) + ")"); // } //} rlist = new List(); 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(" and PK in (" + string.Join(",", listint1) + ")"); } } CommonHelper.LogBD("获取完Update_RealTimeJobToDay10" + DateTime.Now); Trace.WriteLine("获取完Update_RealTimeJobToDay10" + DateTime.Now); } } }