package com.htfp.weather.download; import lombok.Data; import lombok.ToString; import java.io.IOException; import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.util.List; /** * @author shiyi */ @Data @ToString public abstract class BaseDataDownloader { /**起始时间,北京时UTC+8,格式示例:20230901T08:00*/ private String startTimeStr; private LocalDateTime startTime; private String refTimeStr; /** 数据的实际起报UTC时间 */ private OffsetDateTime refTime; /** * 获取所有下载文件的相关信息 */ public abstract List getFilesInfo(); /** * 单个文件下载 * @param fileInfo: 目标文件的下载信息 * @return 下载成功/失败 * @throws IOException */ public abstract boolean download(FileInfo fileInfo) throws IOException; /** * 下载所有目标文件 * * @param filesInfo * @return */ public abstract boolean downloadAll(List fileInfoList); public BaseDataDownloader() { } }