From aa5161c851d166bdbc5e9316bbe469323d91efb0 Mon Sep 17 00:00:00 2001 From: xiaowuler Date: Mon, 21 Mar 2022 15:21:54 +0800 Subject: [PATCH] modify some codes --- .../jobhandler/TianQingRadarDataHandler.java | 14 ++++++++--- .../radar-core/radar-core.iml | 2 -- .../custom/impl/CustomRadarInputStream.java | 2 ++ .../core/weather/resolver/RadarReader.java | 25 +++++++++++++------ .../radartest/RadarTestApplicationTests.java | 2 +- 5 files changed, 30 insertions(+), 15 deletions(-) diff --git a/04.系统编码/01.xxl-job/xxl-job-executor/src/main/java/com/ping/chuan/ahpmsdp/xxljobexecutor/jobhandler/TianQingRadarDataHandler.java b/04.系统编码/01.xxl-job/xxl-job-executor/src/main/java/com/ping/chuan/ahpmsdp/xxljobexecutor/jobhandler/TianQingRadarDataHandler.java index b221700..e758b9c 100644 --- a/04.系统编码/01.xxl-job/xxl-job-executor/src/main/java/com/ping/chuan/ahpmsdp/xxljobexecutor/jobhandler/TianQingRadarDataHandler.java +++ b/04.系统编码/01.xxl-job/xxl-job-executor/src/main/java/com/ping/chuan/ahpmsdp/xxljobexecutor/jobhandler/TianQingRadarDataHandler.java @@ -1,5 +1,6 @@ package com.ping.chuan.ahpmsdp.xxljobexecutor.jobhandler; +import java.io.File; import java.io.IOException; import java.math.BigDecimal; import java.nio.file.Files; @@ -67,7 +68,7 @@ public class TianQingRadarDataHandler { String param = XxlJobHelper.getJobParam(); ParamInfo paramInfo = objectMapper.readValue(param, ParamInfo.class); Map params = applicationCommon.prepareParams(paramInfo.getModeCode().toLowerCase()); - LocalDateTime startTime = LocalDateTime.now().minusHours(8).minusHours(paramInfo.getTimeLength()); + LocalDateTime startTime = LocalDateTime.now().minusHours(8).minusMinutes(paramInfo.getTimeLength()); LocalDateTime endTime = LocalDateTime.now().minusHours(8); TianQingResponse> tianQingResponse = request(String.format("[%s,%s]", startTime.format(TimeConstant.YYYYMMDDHHMM00), endTime.format(TimeConstant.YYYYMMDDHHMM00)), params); if (Objects.isNull(tianQingResponse)){ @@ -168,9 +169,14 @@ public class TianQingRadarDataHandler { XxlJobHelper.log("开始下载文件:{}", dealInfo.getFileName()); boolean result = FileUtil.downloadByNetwork(dealInfo.getUrl(), dealInfo.getLocalPath()); if (result){ - XxlJobHelper.log("文件:{} 下载完成", dealInfo.getFileName()); - targetDealInfos.put(dealInfo, entry); - return; + File file = new File(dealInfo.getLocalPath()); + if (file.length() > 0){ + XxlJobHelper.log("文件:{} 下载完成", dealInfo.getFileName()); + targetDealInfos.put(dealInfo, entry); + return; + } + + file.delete(); } dealInfo.setState(StateConstant.FAILED); diff --git a/04.系统编码/03.radar-resolver/radar-core/radar-core.iml b/04.系统编码/03.radar-resolver/radar-core/radar-core.iml index 5ee8980..4fa1cde 100644 --- a/04.系统编码/03.radar-resolver/radar-core/radar-core.iml +++ b/04.系统编码/03.radar-resolver/radar-core/radar-core.iml @@ -5,8 +5,6 @@ - - diff --git a/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/custom/impl/CustomRadarInputStream.java b/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/custom/impl/CustomRadarInputStream.java index f995157..542e4e7 100644 --- a/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/custom/impl/CustomRadarInputStream.java +++ b/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/custom/impl/CustomRadarInputStream.java @@ -30,12 +30,14 @@ public class CustomRadarInputStream implements ICustomInputStream, Closeable{ public CustomRadarInputStream(String filepath) throws FileNotFoundException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { String fileSuffix = filepath.substring(filepath.lastIndexOf(".") + 1).trim().toLowerCase(Locale.ROOT); + switch (fileSuffix){ case BIN_SUFFIX: customRadarInputStream(filepath, DataInputStream.class); break; case BZIP_SUFFIX: customRadarInputStream(filepath, BZip2CompressorInputStream.class); + break; default: throw new IllegalAccessException("无效的文件格式类型"); } diff --git a/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/weather/resolver/RadarReader.java b/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/weather/resolver/RadarReader.java index 57e6768..34d48c8 100644 --- a/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/weather/resolver/RadarReader.java +++ b/04.系统编码/03.radar-resolver/radar-core/src/main/java/com/xiaowuler/radar/core/weather/resolver/RadarReader.java @@ -1,16 +1,17 @@ package com.xiaowuler.radar.core.weather.resolver; +import com.xiaowuler.radar.core.custom.impl.CustomRadarInputStream; +import com.xiaowuler.radar.core.exceptions.RadarReadException; +import com.xiaowuler.radar.core.weather.domain.CommonBlock; +import com.xiaowuler.radar.core.weather.domain.RadarBlock; +import com.xiaowuler.radar.core.weather.domain.RadialBlock; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.python.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream; + import java.io.Serializable; -import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; - -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import com.xiaowuler.radar.core.custom.impl.CustomRadarInputStream; -import com.xiaowuler.radar.core.exceptions.RadarReadException; -import com.xiaowuler.radar.core.weather.domain.*; /** * @describe: radar reader @@ -82,4 +83,12 @@ public class RadarReader implements Serializable { // return result; return null; } + + public RadarBlock getRadarBlock() { + return radarBlock; + } + + public void setRadarBlock(RadarBlock radarBlock) { + this.radarBlock = radarBlock; + } } diff --git a/04.系统编码/03.radar-resolver/radar-test/src/test/java/com/xiaowuler/radartest/RadarTestApplicationTests.java b/04.系统编码/03.radar-resolver/radar-test/src/test/java/com/xiaowuler/radartest/RadarTestApplicationTests.java index a916b43..7586f55 100644 --- a/04.系统编码/03.radar-resolver/radar-test/src/test/java/com/xiaowuler/radartest/RadarTestApplicationTests.java +++ b/04.系统编码/03.radar-resolver/radar-test/src/test/java/com/xiaowuler/radartest/RadarTestApplicationTests.java @@ -11,7 +11,7 @@ class RadarTestApplicationTests { @Test void contextLoads() throws RadarReadException { RadarReader radarReader = new RadarReader(); - radarReader.read("C:\\Users\\xiaowuler\\Desktop\\test\\Z_RADR_I_Z9551_20210712000134_O_DOR_SA_CAP_FMT.bin\\Z_RADR_I_Z9551_20210712000134_O_DOR_SA_CAP_FMT.bin"); + radarReader.read("C:\\SaveFile\\Source\\202203\\RADAR\\SAD\\CAP\\Z_RADR_I_Z9558_20220321065017_O_DOR_SAD_CAP_FMT.bin.bz2"); System.out.println(""); }