1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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);
- }
- }
- }
|