コード例 #1
0
        private async Task InsertDetail(int id)
        {
            var input = new JuHeTodayOnHistoryDetailInputDto {
                E_Id = id
            };
            var apiResult = await juHeApiRepository.GetAsync <JuHeTodayOnHistoryDetailInputDto,
                                                              JuHeTodayOnHistoryDetailOutputDto>(input);

            if (apiResult.Success)
            {
                var info = apiResult.Result.First();
                todayOnHistoryRepository.InsertDetail(new SqlSugar.Entities.TodayOnHistoryDetail(id, info.Content));
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="city"></param>
        /// <returns></returns>
        public async Task InsertWeather(string city)
        {
            var input = new JuHeWeatherInputDto {
                City = city
            };
            var apiResult = await juHeApiRepository.GetAsync <JuHeWeatherInputDto, JuHeWeatherApiResultOutputDto>(input);

            if (apiResult.Success)
            {
                var realtime = apiResult.Result.Realtime;
                weatherRepository.Insert(new SqlSugar.Entities.Weather(city,
                                                                       realtime.Temperature,
                                                                       realtime.Humidity,
                                                                       realtime.Direct,
                                                                       realtime.Power,
                                                                       realtime.Aqi,
                                                                       realtime.Info,
                                                                       JsonConvert.SerializeObject(apiResult.Result.Future)));
            }
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public async Task InsertNews(string channelId,
                                     int type,
                                     int pageIndex = 1,
                                     int pageSize  = 20)
        {
            #region JuHe
            //for (int i = 0; i <= (int)NewsTypeEnum.caijing; i++)
            //{
            //var currentType = (NewsTypeEnum)i;
            //var type = NewsTypeEnum.guonei;
            var input = new JuHeTopNewsInputDto {
                Type = type.ToString()
            };
            var apiResult = await juHeApiRepository.
                            GetAsync <JuHeTopNewsInputDto, JuHeTopNewsApiResultOutputDto>(input);

            if (apiResult.Success && apiResult.Result.List.Any())
            {
                var existsNews       = newsRepository.GetNews(x => x.Date.Date.Equals(DateTime.Now.Date));
                var existsUniqueKeys = existsNews.Select(x => x.UniqueKey);

                apiResult.Result.List.RemoveAll(x => existsUniqueKeys.Contains(x.UniqueKey));
                newsRepository.InsertNews(apiResult.Result.List.Select(x => new SqlSugar.Entities.News(x.Title,
                                                                                                       x.UniqueKey,
                                                                                                       x.Category,
                                                                                                       x.Url,
                                                                                                       x.Date,
                                                                                                       JsonConvert.SerializeObject(x.ImageUrls),
                                                                                                       x.AuthorName, (int)type, "")).ToList());
            }
            //}
            #endregion

            #region ShowApi
            ////var channelId = ShowApiNewsChannel.DomesticNew;
            //var input = new ShowApiNewsInputDto(channelId, page: pageIndex, maxResult: pageSize);

            //var apiResult = await showApiRepository.GetAsync<ShowApiNewsInputDto
            //    , ShowApiOutputDtoBase<ShowApiNewsOutputDto>>(input, false);

            //if (apiResult.Success)
            //{
            //    var existsList = newsRepository.GetNews(x => x.Date.Date.Equals(DateTime.Now.Date) && x.ChannelId == channelId);
            //    var existsUniqueKeys = existsList.Select(x => x.UniqueKey).ToList();

            //    if (existsUniqueKeys.Any())
            //        apiResult.Showapi_Res_Body.PageBean.ContentList.RemoveAll(x => existsUniqueKeys.Contains(x.Id));

            //    newsRepository.InsertNews(apiResult.Showapi_Res_Body.PageBean.ContentList
            //        .Select(x => new SqlSugar.Entities.News(x.Title, x.Id, x.ChannelName, x.Link, x.PubDate,
            //        JsonConvert.SerializeObject(x.ImageUrls), x.Source, 0, channelId, x.Desc)).ToList());
            //}
            #endregion
        }
コード例 #4
0
        public async Task InsertWeather(string city)
        {
            var input = new JuHeWeatherInputDto {
                City = city
            };
            var apiResult = await juHeApiRepository.GetAsync <JuHeWeatherInputDto, JuHeWeatherApiResultOutputDto>(input);

            if (apiResult.Success)
            {
                var exists = weatherRepository.Query(city);
                if (exists == null)
                {
                    var realtime = apiResult.Result.Realtime;
                    weatherRepository.Insert(new SqlSugar.Entities.Weather(city,
                                                                           realtime.Temperature,
                                                                           realtime.Humidity,
                                                                           realtime.Direct,
                                                                           realtime.Power,
                                                                           realtime.Aqi,
                                                                           realtime.Info,
                                                                           JsonConvert.SerializeObject(apiResult.Result.Future)));
                }
                else
                {
                    var realtime = apiResult.Result.Realtime;

                    exists.AddDate     = DateTime.Now;
                    exists.Temperature = realtime.Temperature;
                    exists.Humidity    = realtime.Humidity;
                    exists.Direct      = realtime.Direct;
                    exists.Power       = realtime.Power;
                    exists.Aqi         = realtime.Aqi;
                    exists.Info        = realtime.Info;
                    exists.Future      = JsonConvert.SerializeObject(apiResult.Result.Future);

                    weatherRepository.Update(exists);
                }
            }
        }