From a8ab09234abe95a07e20b62bd51b622c45d4500f Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Fri, 15 Dec 2023 15:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/api/UploadGwDataFeignClient.java | 30 +++++++++++ .../fallback/UploadGwDataFallbackFactory.java | 50 +++++++++++++++++++ .../impl/PointStatisticalDataServiceImpl.java | 3 +- .../impl/REvaluationDataServiceImpl.java | 11 +++- ...RSubstationStatisticalDataServiceImpl.java | 3 +- pqs-system/system-boot/pom.xml | 5 ++ ...eTaskRunner.java => DeviceTaskRunner.java} | 2 +- ...kRunner.java => GeneraTrixTaskRunner.java} | 2 +- ...Runner.java => MeasurementTaskRunner.java} | 2 +- ...{orgTaskRunner.java => OrgTaskRunner.java} | 2 +- ...mTaskRunner.java => PmsDimTaskRunner.java} | 2 +- ...msStatisticsSpecialMonitorTaskRunner.java} | 2 +- ...er.java => StatisticReportTaskRunner.java} | 2 +- ...kRunner.java => SubstationTaskRunner.java} | 2 +- .../timer/tasks/UploadGwTaskRunner.java | 32 ++++++++++++ 15 files changed, 139 insertions(+), 11 deletions(-) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{deviceTaskRunner.java => DeviceTaskRunner.java} (93%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{generaTrixTaskRunner.java => GeneraTrixTaskRunner.java} (93%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{measurementTaskRunner.java => MeasurementTaskRunner.java} (93%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{orgTaskRunner.java => OrgTaskRunner.java} (94%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{pmsDimTaskRunner.java => PmsDimTaskRunner.java} (93%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{pmsStatisticsSpecialMonitorTaskRunner.java => PmsStatisticsSpecialMonitorTaskRunner.java} (98%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{statisticReportTaskRunner.java => StatisticReportTaskRunner.java} (93%) rename pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/{substationTaskRunner.java => SubstationTaskRunner.java} (93%) create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskRunner.java diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java new file mode 100644 index 000000000..6595a608b --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java @@ -0,0 +1,30 @@ +package com.njcn.harmonic.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.harmonic.api.fallback.UploadGwDataFallbackFactory; +import com.njcn.harmonic.pojo.param.UploadParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author xuyang + */ +@FeignClient( + value = ServerInfo.HARMONIC, + path = "/upload", + fallbackFactory = UploadGwDataFallbackFactory.class, + contextId = "upload") +public interface UploadGwDataFeignClient { + + @PostMapping("/uploadPointStatisticalData") + HttpResult uploadPointStatisticalData(@RequestBody UploadParam param); + + @PostMapping("/uploadSubstationStatisticalData") + HttpResult uploadSubstationStatisticalData(@RequestBody UploadParam param); + + @PostMapping("/uploadEvaluationData") + HttpResult uploadEvaluationData(@RequestBody UploadParam param); + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java new file mode 100644 index 000000000..b9bbc1703 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java @@ -0,0 +1,50 @@ +package com.njcn.harmonic.api.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.harmonic.api.UploadGwDataFeignClient; +import com.njcn.harmonic.pojo.param.UploadParam; +import com.njcn.harmonic.utils.HarmonicEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author xuyang + * @version 1.0.0 + * @date 2023年12月15日 13:50 + */ +@Slf4j +@Component +public class UploadGwDataFallbackFactory implements FallbackFactory { + @Override + public UploadGwDataFeignClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = HarmonicEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new UploadGwDataFeignClient() { + @Override + public HttpResult uploadPointStatisticalData(UploadParam param) { + log.error("{}异常,降级处理,异常为:{}", "国网上送-主配网监测点统计数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult uploadSubstationStatisticalData(UploadParam param) { + log.error("{}异常,降级处理,异常为:{}", "国网上送-变电站监测统计数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult uploadEvaluationData(UploadParam param) { + log.error("{}异常,降级处理,异常为:{}", "国网上送-母线基准水平评估数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java index 4dcf03836..8ed1c53a5 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java @@ -55,6 +55,7 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl list; //指定数据上送,不管之前有没有上送,都重新上送一次 - //(预防之前送上过,修改数据后需要再次上送) + //(预防之前上送过,修改数据后需要再次上送) if (CollectionUtil.isNotEmpty(param.getList())){ list = this.lambdaQuery() .eq(RUploadPointStatisticalDataD::getStatisticalDate,param.getTime()) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java index b8ba91a35..cc99f5bef 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java @@ -27,6 +27,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -61,6 +62,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl list; //指定数据上送,不管之前有没有上送,都重新上送一次 - //(预防之前送上过,修改数据后需要再次上送) + //(预防之前上送过,修改数据后需要再次上送) if (CollectionUtil.isNotEmpty(param.getList())){ list = this.lambdaQuery() .eq(RUploadEvaluationDataD::getStatisticalDate,param.getTime()) @@ -91,10 +93,17 @@ public class REvaluationDataServiceImpl extends ServiceImpl l1 = pendingIds.get(i).stream().peek(item->{ if (Objects.equals(item.getAvgValue(),3.1415926)){ item.setAvgValue(0d); + } else { + BigDecimal four = BigDecimal.valueOf(item.getAvgValue()); + double value = four.setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + item.setAvgValue(value); } if (Objects.equals(item.getStandardDeviation(),3.1415926)){ item.setStandardDeviation(0d); } + BigDecimal four = BigDecimal.valueOf(item.getMonitorBusRate()); + double value = four.setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + item.setMonitorBusRate(value); }).collect(Collectors.toList()); //组装数据 SendParam sp = new SendParam(); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java index f1e467d33..6c015284b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java @@ -60,6 +60,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl list; //指定数据上送,不管之前有没有上送,都重新上送一次 - //(预防之前送上过,修改数据后需要再次上送) + //(预防之前上送过,修改数据后需要再次上送) if (CollectionUtil.isNotEmpty(param.getList())){ list = this.lambdaQuery() .eq(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getTime()) diff --git a/pqs-system/system-boot/pom.xml b/pqs-system/system-boot/pom.xml index 8e36f7d67..b1ed591d9 100644 --- a/pqs-system/system-boot/pom.xml +++ b/pqs-system/system-boot/pom.xml @@ -68,6 +68,11 @@ process-api ${project.version} + + com.njcn + harmonic-api + ${project.version} + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/deviceTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/deviceTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java index 279f14568..12ce7090d 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/deviceTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/DeviceTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class deviceTaskRunner implements TimerTaskRunner { +public class DeviceTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/generaTrixTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/GeneraTrixTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/generaTrixTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/GeneraTrixTaskRunner.java index 628d04bbe..d29e1da06 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/generaTrixTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/GeneraTrixTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class generaTrixTaskRunner implements TimerTaskRunner { +public class GeneraTrixTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/measurementTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/measurementTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java index acc2a13a9..8ab887a42 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/measurementTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/MeasurementTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class measurementTaskRunner implements TimerTaskRunner { +public class MeasurementTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/orgTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java similarity index 94% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/orgTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java index 048a4c940..1480c9396 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/orgTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/OrgTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class orgTaskRunner implements TimerTaskRunner { +public class OrgTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsDimTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsDimTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsDimTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsDimTaskRunner.java index b98aabb55..18e4813e1 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsDimTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsDimTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class pmsDimTaskRunner implements TimerTaskRunner { +public class PmsDimTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsStatisticsSpecialMonitorTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsStatisticsSpecialMonitorTaskRunner.java similarity index 98% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsStatisticsSpecialMonitorTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsStatisticsSpecialMonitorTaskRunner.java index 15a296832..71c95135b 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/pmsStatisticsSpecialMonitorTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsStatisticsSpecialMonitorTaskRunner.java @@ -26,7 +26,7 @@ import java.util.Objects; @Component @RequiredArgsConstructor @Slf4j -public class pmsStatisticsSpecialMonitorTaskRunner implements TimerTaskRunner { +public class PmsStatisticsSpecialMonitorTaskRunner implements TimerTaskRunner { private final PmsStatisticsSpecialMonitorFeignClient pmsStatisticsSpecialMonitorFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/statisticReportTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/StatisticReportTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/statisticReportTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/StatisticReportTaskRunner.java index 7775ca1b6..c9e05ad70 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/statisticReportTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/StatisticReportTaskRunner.java @@ -20,7 +20,7 @@ import java.time.format.DateTimeFormatter; @Component @RequiredArgsConstructor @Slf4j -public class statisticReportTaskRunner implements TimerTaskRunner { +public class StatisticReportTaskRunner implements TimerTaskRunner { private final SupvStatisticReportMFeignClient supvStatisticReportMFeignClient; @Override diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/substationTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java similarity index 93% rename from pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/substationTaskRunner.java rename to pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java index 7a4b54e30..0979defd2 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/substationTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/SubstationTaskRunner.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -public class substationTaskRunner implements TimerTaskRunner { +public class SubstationTaskRunner implements TimerTaskRunner { private final LiteFlowFeignClient liteFlowFeignClient; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskRunner.java new file mode 100644 index 000000000..0ebb82eab --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskRunner.java @@ -0,0 +1,32 @@ +package com.njcn.system.timer.tasks; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.njcn.harmonic.api.UploadGwDataFeignClient; +import com.njcn.harmonic.pojo.param.UploadParam; +import com.njcn.system.timer.TimerTaskRunner; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +/** + * 类的介绍:国网数据每日上送定时任务 + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/12/15 13:45 + */ +@Component +@RequiredArgsConstructor +public class UploadGwTaskRunner implements TimerTaskRunner { + + private final UploadGwDataFeignClient uploadGwDataFeignClient; + + @Override + public void action() { + UploadParam param = new UploadParam(); + param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); + uploadGwDataFeignClient.uploadPointStatisticalData(param); + uploadGwDataFeignClient.uploadSubstationStatisticalData(param); + uploadGwDataFeignClient.uploadEvaluationData(param); + } +}