Exemple #1
0
        public static List <CommonSite> RetrieveSitesBySearch(Search paramsList)
        {
            List <CommonSite> sites = new List <CommonSite>();

            sites.AddRange(DataSite.RetrieveSitesBySearch(paramsList));
            return(sites);
        }
Exemple #2
0
        public static List <CommonSite> RetrieveSites()
        {
            List <CommonSite> sites = new List <CommonSite>();

            sites.AddRange(DataSite.RetrieveSites());
            return(sites);
        }
        private DataUpdateItem ObtainDataUpdateItemByReflect(DataSite dataSite)
        {
            Assembly assembly        = Assembly.GetExecutingAssembly();
            string   updaterFullName = "Lottery.DataUpdater.DataUpdateItems."
                                       + Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(_lotteryUpdateConfig.Name) + "." +
                                       Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(_lotteryUpdateConfig.Name) +
                                       "DataUpdateItem" + dataSite.Id;

            DataUpdateItem updateItem = assembly.CreateInstance(updaterFullName, false, BindingFlags.CreateInstance, null, new object[] { dataSite, LastPeriod, _lotteryUpdateConfig.Name }, null, null) as DataUpdateItem;

            return(updateItem);
        }
        private IList <DataSite> LoaderDataSites(XmlNode node)
        {
            var datasites = new List <DataSite>();

            foreach (XmlNode datasiteNode in node.SelectSingleNode("./datasites").ChildNodes)
            {
                var dataSite = new DataSite()
                {
                    Id     = Convert.ToInt32(datasiteNode.Attributes?["id"].InnerText),
                    Count  = Convert.ToInt32(datasiteNode.Attributes?["count"].InnerText),
                    Name   = datasiteNode.Attributes?["name"].InnerText,
                    Enable = Convert.ToBoolean(datasiteNode.Attributes?["enable"].InnerText),
                    Url    = datasiteNode.Attributes?["url"].InnerText
                };

                datasites.Add(dataSite);
            }
            return(datasites);
        }
        private void RequestData(DataSite dataSite)
        {
            var dataUpdateItem = ObtainDataUpdateItemByReflect(dataSite);

            if (dataUpdateItem == null)
            {
                throw new LSException("获取彩票开始数据数据爬取器失败.=>" + dataSite.Name + dataSite.Id);
            }

            var newDataList = dataUpdateItem.RequestNewDatas();

            lock (_lockObject)
            {
                if (newDataList != null && newDataList.Count > 0)
                {
                    //必须排序
                    newDataList = newDataList.OrderBy(p => p.Period).ToList();
                    foreach (var newData in newDataList)
                    {
                        if (!_lotteryDataAppService.ExsitData(_lotteryDataJob.LotteryType.ToString(), newData.Period))
                        {
                            var lastLotteryData = _lotteryDataAppService.Insert(newData);
                            _lastPeriod = lastLotteryData.Period;
                            string key = AppUtils.GetLotteryRedisKey(lastLotteryData.LotteryType, LsConstant.LastLotteryDataCacheKey);
                            CacheHelper.SetCache(key, lastLotteryData);
                            // todo:更新彩票分析数据
                            var lotteryEngine =
                                LotteryEngine.GetLotteryEngine(
                                    Utils.StringConvertEnum <LotteryType>(lastLotteryData.LotteryType));
                            lotteryEngine.CalculateNextLotteryData();
                        }
                    }
                    LogDbHelper.LogDebug(string.Format("更新彩票{0}开奖数据数据成功,共{1}条数据", _lotteryDataJob.LotteryType, newDataList.Count),
                                         GetType().FullName + "=>RequestData", OperationType.Job);
                    _lotteryDataJob.NextLotteryTime = _lotteryUpdateConfig.NextLotteryTime;
                }
            }
        }
Exemple #6
0
 public static ICollection <CommonSite> RetrieveSitesById(int[] id)
 {
     return(DataSite.RetrieveSitesById(id));
 }
Exemple #7
0
 public static List <string> RetrieveCategories()
 {
     return(DataSite.RetrieveCategories());
 }
Exemple #8
0
 public BjpksDataUpdateItem2(DataSite dataSite, long latestDataId, string lotteryName) : base(dataSite, latestDataId, lotteryName)
 {
 }
Exemple #9
0
 public static Boolean AddSite(CommonSite s)
 {
     return(DataSite.AddSite(s));
 }
 protected DataUpdateItem(DataSite dataSite, long latestDataId, string lotteryName)
 {
     _dataSite     = dataSite;
     _latestDataId = latestDataId;
     _lotteryName  = lotteryName;
 }