Forráskód Böngészése

调整融雪数据为10天

黄洋 2 éve
szülő
commit
aab175f86e

+ 94 - 56
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/service/QxybDataCollectionTask.java

@@ -8,10 +8,12 @@ import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.ublinkage.datacollection.entity.PublishInfo;
 import lombok.extern.slf4j.Slf4j;
+import org.jsoup.internal.StringUtil;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.io.File;
 import java.nio.file.Path;
@@ -56,52 +58,78 @@ public class QxybDataCollectionTask implements InitializingBean {
 
 
     /**
-     * 获取预报批次数据列表,每天下午3点同步
+     * 执行下载
      */
-    @Scheduled(cron = "0 0 07 * * ? ")
-    public void getQxybDataAudo() {
-        //固定时间就不执行自动任务
-        if (ybFixedTime) {
-            return;
+    private void download() {
+        try {
+            log.info("开始下载融雪数据----");
+            //获取融雪数据
+            this.getDomainSnow();
+            log.info("结束下载融雪数据----");
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(e.getMessage());
         }
-        log.info("开始下载:{}到{}的预报数据.", this.getYbStartTime(), this.getYbEndTime());
-
         try {
+            log.info("开始下载15分区雨量----");
             //下载分区雨量
             this.getForecast15Data();
+            log.info("结束下载15分区雨量----");
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
         }
 
         try {
+            log.info("开始下载29分区雨量----");
             this.getForecast29Data();
+            log.info("结束下载29分区雨量----");
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
         }
 
         try {
+            log.info("开始下载昌都、曲孜卡温度和降雨----");
             this.getDomainTempAndRain();
+            log.info("结束下载昌都、曲孜卡温度和降雨----");
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
         }
 
         try {
+            log.info("开始下载网格数据----");
             //获取网格数据,包含温度网格,降雨网格
             this.getGridData();
+            log.info("结束下载网格数据----");
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
         }
         try {
+            log.info("开始下载温度站点数据----");
             //下载温度站点
             this.getForeTempData();
+            log.info("结束下载温度站点数据----");
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
         }
+    }
+
+    /**
+     * 获取预报批次数据列表,每天下午3点同步
+     */
+    @Scheduled(cron = "0 0 07 * * ? ")
+    public void getQxybDataAudo() {
+        //固定时间就不执行自动任务
+        if (ybFixedTime) {
+            return;
+        }
+        log.info("开始下载:{}到{}的预报数据.", this.getYbStartTime(), this.getYbEndTime());
+
+        this.download();
         log.info("结束下载:{}到{}的预报数据.", this.getYbStartTime(), this.getYbEndTime());
     }
 
@@ -114,18 +142,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             return;
         }
         log.info("开始下载:{}到{}的预报数据.", this.getYbStartTime(), this.getYbEndTime());
-        //下载分区雨量
-        this.getForecast15Data();
-
-        this.getForecast29Data();
-
-        this.getDomainTempAndRain();
-
-        //获取网格数据,包含温度网格,降雨网格
-        this.getGridData();
-
-        //下载温度站点
-        this.getForeTempData();
+        this.download();
         log.info("结束下载:{}到{}的预报数据.", this.getYbStartTime(), this.getYbEndTime());
     }
 
@@ -204,6 +221,63 @@ public class QxybDataCollectionTask implements InitializingBean {
         }
     }
 
+    /**
+     * 获取融雪数据
+     */
+    private void getDomainSnow() {
+        //融雪数据从本地获取
+//        String yyyyMMdd = DateUtil.format(new Date(), "yyyyMMdd");
+        try {
+            List<String> cdNewList = new LinkedList<>();
+            if (new File(snowCdFile).exists()) {
+                List<String> cdlist = FileUtil.readUtf8Lines(snowCdFile);
+                cdNewList.add(cdlist.get(cdlist.size() - 10));
+                cdNewList.add(cdlist.get(cdlist.size() - 9));
+                cdNewList.add(cdlist.get(cdlist.size() - 8));
+                cdNewList.add(cdlist.get(cdlist.size() - 7));
+                cdNewList.add(cdlist.get(cdlist.size() - 6));
+                cdNewList.add(cdlist.get(cdlist.size() - 5));
+                cdNewList.add(cdlist.get(cdlist.size() - 4));
+                cdNewList.add(cdlist.get(cdlist.size() - 3));
+                cdNewList.add(cdlist.get(cdlist.size() - 2));
+                cdNewList.add(cdlist.get(cdlist.size() - 1));
+
+                String first = cdNewList.get(0);
+                if (StringUtils.isEmpty(first)) {
+                    return;
+                }
+                String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                FileUtil.writeUtf8Lines(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+            }
+        } catch (Exception e) {
+            log.error("e:{}", e.getMessage());
+        }
+        try {
+            if (new File(snowQzkFile).exists()) {
+                List<String> qzkNewList = new LinkedList<>();
+                List<String> qzkList = FileUtil.readUtf8Lines(snowQzkFile);
+                qzkNewList.add(qzkList.get(qzkList.size() - 10));
+                qzkNewList.add(qzkList.get(qzkList.size() - 9));
+                qzkNewList.add(qzkList.get(qzkList.size() - 8));
+                qzkNewList.add(qzkList.get(qzkList.size() - 7));
+                qzkNewList.add(qzkList.get(qzkList.size() - 6));
+                qzkNewList.add(qzkList.get(qzkList.size() - 5));
+                qzkNewList.add(qzkList.get(qzkList.size() - 4));
+                qzkNewList.add(qzkList.get(qzkList.size() - 3));
+                qzkNewList.add(qzkList.get(qzkList.size() - 2));
+                qzkNewList.add(qzkList.get(qzkList.size() - 1));
+
+                String first = qzkNewList.get(0);
+                if (StringUtils.isEmpty(first)) {
+                    return;
+                }
+                String yyyyMMdd = DateUtil.parseLocalDateTime(first.split(",")[0], "yyyy-MM-dd").minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                FileUtil.writeUtf8Lines(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+            }
+        } catch (Exception e) {
+            log.error("e:{}", e.getMessage());
+        }
+    }
 
     /**
      * 获取昌都、曲孜卡的13个区域的降雨和温度数据
@@ -236,45 +310,9 @@ public class QxybDataCollectionTask implements InitializingBean {
             } catch (Exception e) {
                 log.error("e:{}", e.getMessage());
             }
-            //融雪数据从本地获取
-            String yyyyMMdd = DateUtil.format(new Date(), "yyyyMMdd");
-            try {
-                List<String> cdNewList = new LinkedList<>();
-                if (new File(snowCdFile).exists()) {
-                    List<String> cdlist = FileUtil.readUtf8Lines(snowCdFile);
-                    cdNewList.add(cdlist.get(cdlist.size() - 7));
-                    cdNewList.add(cdlist.get(cdlist.size() - 6));
-                    cdNewList.add(cdlist.get(cdlist.size() - 5));
-                    cdNewList.add(cdlist.get(cdlist.size() - 4));
-                    cdNewList.add(cdlist.get(cdlist.size() - 3));
-                    cdNewList.add(cdlist.get(cdlist.size() - 2));
-                    cdNewList.add(cdlist.get(cdlist.size() - 1));
-
-                    FileUtil.writeUtf8Lines(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
-                }
-            } catch (Exception e) {
-                log.error("e:{}", e.getMessage());
-            }
-            try {
-                if (new File(snowQzkFile).exists()) {
-                    List<String> qzkNewList = new LinkedList<>();
-                    List<String> qzkList = FileUtil.readUtf8Lines(snowQzkFile);
-                    qzkNewList.add(qzkList.get(qzkList.size() - 7));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 6));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 5));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 4));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 3));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 2));
-                    qzkNewList.add(qzkList.get(qzkList.size() - 1));
-                    FileUtil.writeUtf8Lines(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
-                }
-            } catch (Exception e) {
-                log.error("e:{}", e.getMessage());
-            }
         } else {
             log.error("获取到预报批次数据异常:{}", code);
         }
-
     }
 
 

+ 15 - 0
tongfei_river_data_collection/src/main/resources/application-dev.properties

@@ -0,0 +1,15 @@
+server.port=9001
+
+#昌都和曲孜卡的融雪路径
+snow.cd.file=/usr/local/LCJ/SnowCoverPrediction/cd/predict.csv
+snow.qzk.file=/usr/local/LCJ/SnowCoverPrediction/qzk/predict.csv
+
+download.file.path=/usr/local/LCJ/data/receivedata/
+
+
+
+yb.startTime=2022_12_29_00_00_00
+yb.endTime=2022_12_30_00_00_00
+
+yb.fixedTime=false
+

+ 14 - 0
tongfei_river_data_collection/src/main/resources/application-sky.properties

@@ -0,0 +1,14 @@
+server.port=9001
+
+#昌都和曲孜卡的融雪路径
+snow.cd.file=/media/sky/73b9d852-878a-4b11-a82f-249a237fa9e7/sky/LCJ/SnowCoverPrediction/cd/predict.csv
+snow.qzk.file=/media/sky/73b9d852-878a-4b11-a82f-249a237fa9e7/sky/LCJ/SnowCoverPrediction/qzk/predict.csv
+
+download.file.path=/usr/local/LCJ/data/receivedata/
+
+
+yb.startTime=2022_12_29_00_00_00
+yb.endTime=2022_12_30_00_00_00
+
+yb.fixedTime=false
+

+ 1 - 13
tongfei_river_data_collection/src/main/resources/application.properties

@@ -1,15 +1,3 @@
 server.port=9001
 
-#昌都和曲孜卡的融雪路径
-snow.cd.file=/usr/local/LCJ/SnowCoverPrediction/cd/predict.csv
-snow.qzk.file=/usr/local/LCJ/SnowCoverPrediction/qzk/predict.csv
-
-download.file.path=/usr/local/LCJ/data/receivedata/
-
-
-
-yb.startTime=2022_12_29_00_00_00
-yb.endTime=2022_12_30_00_00_00
-
-yb.fixedTime=false
-
+spring.profiles.active=sky