Ejemplo n.º 1
0
        public async Task FileCrawlerRecordUpdateAsync(FileCrawlerRecordUpdateDto input)
        {
            FileCrawler fileCrawler = await FileCrawlerRepository.GetAsync(x => x.Code == input.FileCrawlerCode);

            if (fileCrawler != null)
            {
                await FileCrawlerRecordDomainService.UpdateAsync(fileCrawler, input.Date);
            }
        }
Ejemplo n.º 2
0
        public async Task <FileCrawlerDto> CreateAsync(CreateFileCrawlerDto input)
        {
            FileCrawler fileCrawler = ObjectMapper.Map <CreateFileCrawlerDto, FileCrawler>(input);
            await FileCrawlerDomainService.CreateAsync(fileCrawler);

            await FileCrawlerRepository.InsertAsync(fileCrawler);

            await ParameterCombinationDomainService.InsertAsync(fileCrawler);

            return(ObjectMapper.Map <FileCrawler, FileCrawlerDto>(fileCrawler));
        }
        public async Task <List <FileCrawlerRecordDto> > GetListAsync(GetFileCrawlerRecordListDto input)
        {
            FileCrawler fileCrawler = await FileCrawlerRepository.FindAsync(x => x.Code == input.FileCrawlerCode);

            if (fileCrawler != null)
            {
                List <ParameterCombination> parameterCombinationList = await ParameterCombinationRepository.GetListAsync(fileCrawler.Id);

                ParameterCombination parameterCombination = parameterCombinationList.FirstOrDefault(x => Equal(x.Parameters, input.Parameters));
                if (parameterCombination != null)
                {
                    List <FileCrawlerRecord> list = await FileCrawlerRecordRepository.GetListAsync(parameterCombination.Id, input.Date);

                    return(ObjectMapper.Map <List <FileCrawlerRecord>, List <FileCrawlerRecordDto> >(list));
                }
            }
            return(new List <FileCrawlerRecordDto>());
        }
Ejemplo n.º 4
0
        public async Task UpdateAsync(Guid id, UpdateFileCrawlerDto input)
        {
            FileCrawler fileCrawler = await FileCrawlerRepository.GetAsync(id);

            if (fileCrawler.Code != input.Code)
            {
                await FileCrawlerDomainService.ChangeCodeAsync(fileCrawler, input.Code);
            }

            fileCrawler.SetName(input.Name);
            fileCrawler.Type            = input.Type;
            fileCrawler.DelaySeconds    = input.DelaySeconds;
            fileCrawler.UrlDateTimeKind = input.UrlDateTimeKind;
            fileCrawler.UrlFormat       = input.UrlFormat;
            fileCrawler.FileNameFormat  = input.FileNameFormat;
            fileCrawler.StampFormat     = input.StampFormat;
            fileCrawler.Periods         = input.Periods;
            fileCrawler.Parameters      = input.Parameters;

            await FileCrawlerRepository.UpdateAsync(fileCrawler);

            await ParameterCombinationDomainService.UpdateAsync(fileCrawler);
        }
Ejemplo n.º 5
0
        public async Task SeedAsync(DataSeedContext context)
        {
            #region 000000 天气图
            if (!await FileCrawlerRepository.AnyAsync(x => x.Code == "000000"))
            {
                FileCrawler fileCrawler = new FileCrawler(GuidGenerator.Create(), "000000", "天气图", FileCrawlerType.Archive)
                {
                    DelaySeconds    = 5400,
                    UrlDateTimeKind = DateTimeKind.Utc,
                    UrlFormat       = "http://image.nmc.cn/product/{3:yyyy/MM/dd}/WESA/SEVP_NMC_WESA_SFER_{1}_{0}_{2}_P9_{3:yyyyMMddHH}0000000.jpg",
                    FileNameFormat  = "SEVP_NMC_WESA_SFER_{1}_{0}_{2}_P9_{3:yyyyMMddHH}0000000.jpg",
                    StampFormat     = "{3:MM/dd HH:00}",
                    Periods         = "[{\"type\":2,\"start\":8,\"end\":20,\"interval\":12}]",
                    Parameters      = "[{\"code\":\"Area\",\"name\":\"区域\",\"parameterValues\":[{\"code\":\"ACWP\",\"name\":\"中国\",\"parameters\":[{\"code\":\"Type\",\"name\":\"类型\",\"parameterValues\":[{\"code\":\"EGH\",\"name\":\"基本天气分析\",\"parameters\":[],\"periods\":[]},{\"code\":\"ESPCT\",\"name\":\"叠加卫星云图\",\"parameters\":[],\"periods\":[]},{\"code\":\"ESPBT\",\"name\":\"叠加雷达拼图\",\"parameters\":[],\"periods\":[]}]}],\"periods\":[]},{\"code\":\"ACHN\",\"name\":\"亚欧\",\"parameters\":[{\"code\":\"Type\",\"name\":\"类型\",\"parameterValues\":[{\"code\":\"EGH\",\"name\":\"基本天气分析\",\"parameters\":[],\"periods\":[]},{\"code\":\"ESPCT\",\"name\":\"叠加卫星云图\",\"parameters\":[],\"periods\":[]}]}],\"periods\":[]},{\"code\":\"ANHE\",\"name\":\"北半球\",\"parameters\":[{\"code\":\"Type\",\"name\":\"类型\",\"parameterValues\":[{\"code\":\"EGH\",\"name\":\"基本天气分析\",\"parameters\":[],\"periods\":[]}]}],\"periods\":[]}]},{\"code\":\"Level\",\"name\":\"层次\",\"parameterValues\":[{\"code\":\"L00\",\"name\":\"地面\",\"parameters\":[],\"periods\":[{\"type\":2,\"start\":2,\"end\":23,\"interval\":3}]},{\"code\":\"L92\",\"name\":\"925hPa\",\"parameters\":[],\"periods\":[]},{\"code\":\"L85\",\"name\":\"850hPa\",\"parameters\":[],\"periods\":[]},{\"code\":\"L70\",\"name\":\"700hPa\",\"parameters\":[],\"periods\":[]},{\"code\":\"L50\",\"name\":\"500hPa\",\"parameters\":[],\"periods\":[]},{\"code\":\"L20\",\"name\":\"200hPa\",\"parameters\":[],\"periods\":[]},{\"code\":\"L10\",\"name\":\"100hPa\",\"parameters\":[],\"periods\":[]}]}]"
                };
                await FileCrawlerRepository.InsertAsync(fileCrawler);

                await ParameterCombinationDomainService.InsertAsync(fileCrawler);
            }
            #endregion
            #region 000100 降水量预报
            if (!await FileCrawlerRepository.AnyAsync(x => x.Code == "000100"))
            {
                FileCrawler fileCrawler = new FileCrawler(GuidGenerator.Create(), "000100", "降水量预报", FileCrawlerType.Forecast)
                {
                    DelaySeconds    = -3000,
                    UrlDateTimeKind = DateTimeKind.Utc,
                    UrlFormat       = "http://image.nmc.cn/product/{1:yyyy/MM/dd}/STFC/SEVP_NMC_STFC_SFER_ER24_ACHN_L88_P9_{1:yyyyMMddHH}00{6:D3}00.JPG",
                    FileNameFormat  = "SEVP_NMC_STFC_SFER_ER24_ACHN_L88_P9_{1:yyyyMMddHH}00{6:D3}00.JPG",
                    StampFormat     = "{6}小时",
                    Periods         = "[{\"type\":2,\"start\":24,\"end\":168,\"interval\":24}]",
                    Parameters      = "[{\"code\":\"TimeOffset\",\"name\":\"起报时间\",\"parameterValues\":[{\"code\":\"8\",\"name\":\"08\",\"parameters\":[],\"periods\":[]},{\"code\":\"20\",\"name\":\"20\",\"parameters\":[],\"periods\":[]}]}]"
                };
                await FileCrawlerRepository.InsertAsync(fileCrawler);

                await ParameterCombinationDomainService.InsertAsync(fileCrawler);
            }
            #endregion
            #region 000101 6小时降水量预报
            if (!await FileCrawlerRepository.AnyAsync(x => x.Code == "000101"))
            {
                FileCrawler fileCrawler = new FileCrawler(GuidGenerator.Create(), "000101", "6小时降水量预报", FileCrawlerType.Forecast)
                {
                    DelaySeconds    = -3000,
                    UrlDateTimeKind = DateTimeKind.Utc,
                    UrlFormat       = "http://image.nmc.cn/product/{1:yyyy/MM/dd}/STFC/SEVP_NMC_STFC_SFER_ER6T{6:D2}_ACHN_L88_P9_{1:yyyyMMddHH}00{6:D3}06.JPG",
                    FileNameFormat  = "SEVP_NMC_STFC_SFER_ER6T{6:D2}_ACHN_L88_P9_{1:yyyyMMddHH}00{6:D3}06.JPG",
                    StampFormat     = "{6}小时",
                    Periods         = "[{\"type\":2,\"start\":6,\"end\":24,\"interval\":6}]",
                    Parameters      = "[{\"code\":\"TimeOffset\",\"name\":\"起报时间\",\"parameterValues\":[{\"code\":\"8\",\"name\":\"08\",\"parameters\":[],\"periods\":[]},{\"code\":\"20\",\"name\":\"20\",\"parameters\":[],\"periods\":[]}]}]"
                };
                await FileCrawlerRepository.InsertAsync(fileCrawler);

                await ParameterCombinationDomainService.InsertAsync(fileCrawler);
            }
            #endregion
            #region 000102 气温预报
            if (!await FileCrawlerRepository.AnyAsync(x => x.Code == "000102"))
            {
                FileCrawler fileCrawler = new FileCrawler(GuidGenerator.Create(), "000102", "气温预报", FileCrawlerType.Forecast)
                {
                    DelaySeconds    = -3000,
                    UrlDateTimeKind = DateTimeKind.Local,
                    UrlFormat       = "http://image.nmc.cn/product/{2:yyyy/MM/dd}/RFFC/SEVP_NMC_RFFC_SNWFD_{0}_ACHN_L88_P9_{2:yyyyMMddHH}00{7:D3}12.jpg",
                    FileNameFormat  = "SEVP_NMC_RFFC_SNWFD_{0}_ACHN_L88_P9_{2:yyyyMMddHH}00{7:D3}12.jpg",
                    StampFormat     = "{7}小时",
                    Periods         = "[{\"type\":2,\"start\":24,\"end\":168,\"interval\":24}]",
                    Parameters      = "[{\"code\":\"Type\",\"name\":\"类型\",\"parameterValues\":[{\"code\":\"ETM\",\"name\":\"最高气温\",\"parameters\":[],\"periods\":[]},{\"code\":\"ETN\",\"name\":\"最低气温\",\"parameters\":[],\"periods\":[]}]},{\"code\":\"TimeOffset\",\"name\":\"起报时间\",\"parameterValues\":[{\"code\":\"8\",\"name\":\"08\",\"parameters\":[],\"periods\":[]},{\"code\":\"20\",\"name\":\"20\",\"parameters\":[],\"periods\":[]}]}]"
                };
                await FileCrawlerRepository.InsertAsync(fileCrawler);

                await ParameterCombinationDomainService.InsertAsync(fileCrawler);
            }
            #endregion
        }
Ejemplo n.º 6
0
        public async Task <FileCrawlerDto> GetAsync(GetFileCrawlerDto input)
        {
            FileCrawler fileCrawler = await FileCrawlerRepository.GetAsync(x => x.Code == input.FileCrawlerCode);

            return(ObjectMapper.Map <FileCrawler, FileCrawlerDto>(fileCrawler));
        }
Ejemplo n.º 7
0
        public async Task <List <FileCrawlerDto> > GetListAsync(GetFileCrawlerListDto input)
        {
            List <FileCrawler> list = await FileCrawlerRepository.GetListAsync();

            return(ObjectMapper.Map <List <FileCrawler>, List <FileCrawlerDto> >(list));
        }