1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package com.jiayue.ipfcst.console.service;
- import cn.hutool.http.HttpRequest;
- import cn.hutool.http.HttpUtil;
- import cn.hutool.json.JSONArray;
- import cn.hutool.json.JSONObject;
- import cn.hutool.json.JSONUtil;
- import com.jiayue.ipfcst.common.data.entity.FileCreateLog;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.RestController;
- import java.io.File;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- /**
- * DownLoadController
- *
- * @author whc
- * @version 1.0
- * @since 2019/4/9 13:36
- */
- @Slf4j
- @RestController
- public class DownLoadService {
- public void download(String stationCode) {
- log.info("开始执行定时任务:http下载文件");
- String body = HttpRequest.get("https://117.78.19.70:9010/client/getDownLoadFileAll/" + stationCode).execute().body();
- JSONObject json = JSONUtil.parseObj(body);
- String code = json.get("code").toString();
- String data = json.get("data").toString();
- if (code.equals("0") && data.length() > 0) {
- JSONArray array = JSONUtil.parseArray(data);
- List<FileCreateLog> list = array.toList(FileCreateLog.class);
- Date date = new Date();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
- //String dir = FileUtil.getDownloadFilePath() +File.separator+stationCode+File.separator+"new/";
- //String dirBak = FileUtil.getDownloadFilePath() +File.separator+stationCode+File.separator+"backups/"+simpleDateFormat.format(date)+"/";
- //测试使用
- String dir = "/Users/wanghongchen/fsdownload/" + stationCode + "/" + "new/";
- String dirBak = "/Users/wanghongchen/fsdownload/" + stationCode + "/" + "backups/" + simpleDateFormat.format(date) + "/";
- //循环backups下的文件,有文件则不下载
- File fileDirectory = new File(dir);
- if (!fileDirectory.exists()) {
- fileDirectory.mkdir();
- }
- File bakDirectory = new File(dirBak);
- if (!bakDirectory.exists()) {
- bakDirectory.mkdir();
- }
- try {
- for (FileCreateLog fileCreateLog : list) {
- File file = new File(bakDirectory + File.separator + fileCreateLog.getFileName());
- if (!file.exists()) {
- String url = "https://117.78.19.70:9010/client/getFileById?id=" + fileCreateLog.getId();
- long a = HttpUtil.downloadFile(url, dir + File.separatorChar + fileCreateLog.getFileName());
- if (a > 0) {
- log.info(stationCode + "场站" + fileCreateLog.getFileName() + "文件下载成功");
- }
- } else {
- log.info("文件已经下载过了");
- }
- }
- } catch (Exception e) {
- log.error("文件下载失败", e);
- }
- }
- }
- }
|