diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/PqTypicalSourceFeignClient.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/PqTypicalSourceFeignClient.java new file mode 100644 index 000000000..e36a7f306 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/PqTypicalSourceFeignClient.java @@ -0,0 +1,24 @@ +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.PqTypicalSourceFallbackFactory; +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 = "/pqTypicalSourceCreate", + fallbackFactory = PqTypicalSourceFallbackFactory.class, + contextId = "pqTypicalSourceCreate") +public interface PqTypicalSourceFeignClient { + + @PostMapping("/send") + HttpResult send(@RequestBody UploadParam uploadParam); + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/PqTypicalSourceFallbackFactory.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/PqTypicalSourceFallbackFactory.java new file mode 100644 index 000000000..be4517207 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/PqTypicalSourceFallbackFactory.java @@ -0,0 +1,39 @@ +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.PqTypicalSourceFeignClient; +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 PqTypicalSourceFallbackFactory implements FallbackFactory { + @Override + public PqTypicalSourceFeignClient 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 PqTypicalSourceFeignClient() { + + @Override + public HttpResult send(UploadParam uploadParam) { + log.error("{}异常,降级处理,异常为:{}", "国网上送-典型源荷指标统计数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java index 3f7ae1b6c..21db0a36e 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java @@ -61,7 +61,7 @@ public class TimersServiceImpl extends ServiceImpl impleme //查询参数不为空,进行条件填充 if (StrUtil.isNotBlank(queryParam.getSearchValue())) { //定时任务,待提供名称、编码模糊查询 todo... - + queryWrapper.like("timer_name", queryParam.getSearchValue()); } } if (!Objects.isNull(queryParam.getSearchState())){ diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorLimitSendTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorLimitSendTaskRunner.java new file mode 100644 index 000000000..90c906c3e --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorLimitSendTaskRunner.java @@ -0,0 +1,25 @@ +package com.njcn.system.timer.tasks; + +import com.njcn.device.pms.api.GwMonitorPushFeignClient; +import com.njcn.system.timer.TimerTaskRunner; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; + + +/** + * + */ +@Component +@RequiredArgsConstructor +public class PmsMonitorLimitSendTaskRunner implements TimerTaskRunner { + + private final GwMonitorPushFeignClient gwMonitorPushFeignClient; + + + @Override + public void action() { + gwMonitorPushFeignClient.pushMonitorOverLimit(new ArrayList<>()); + } +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorSendTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorSendTaskRunner.java index 8a140f32f..ad5577abc 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorSendTaskRunner.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PmsMonitorSendTaskRunner.java @@ -23,10 +23,6 @@ public class PmsMonitorSendTaskRunner implements TimerTaskRunner { @Override public void action() { - gwMonitorPushFeignClient.timeTaskPushMonitor(new ArrayList<>()); - - gwMonitorPushFeignClient.pushMonitorOverLimit(new ArrayList<>()); - } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PqTypicalSourceTaskRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PqTypicalSourceTaskRunner.java new file mode 100644 index 000000000..e5f25e810 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/PqTypicalSourceTaskRunner.java @@ -0,0 +1,29 @@ +package com.njcn.system.timer.tasks; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.njcn.harmonic.api.PqTypicalSourceFeignClient; +import com.njcn.harmonic.pojo.param.UploadParam; +import com.njcn.system.timer.TimerTaskRunner; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + + + +/** + * 典型源荷指标统计数据 + */ +@Component +@RequiredArgsConstructor +public class PqTypicalSourceTaskRunner implements TimerTaskRunner { + + private final PqTypicalSourceFeignClient pqTypicalSourceFeignClient; + + + @Override + public void action() { + UploadParam param=new UploadParam(); + param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); + pqTypicalSourceFeignClient.send(param); + } +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskEvaluationRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskEvaluationRunner.java new file mode 100644 index 000000000..791310cbe --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskEvaluationRunner.java @@ -0,0 +1,30 @@ +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 UploadGwTaskEvaluationRunner implements TimerTaskRunner { + + private final UploadGwDataFeignClient uploadGwDataFeignClient; + + @Override + public void action() { + UploadParam param = new UploadParam(); + param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); + uploadGwDataFeignClient.uploadEvaluationData(param); + } +} 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 index 0ebb82eab..0e6dde9a3 100644 --- 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 @@ -26,7 +26,5 @@ public class UploadGwTaskRunner implements TimerTaskRunner { UploadParam param = new UploadParam(); param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); uploadGwDataFeignClient.uploadPointStatisticalData(param); - uploadGwDataFeignClient.uploadSubstationStatisticalData(param); - uploadGwDataFeignClient.uploadEvaluationData(param); } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskSubstationRunner.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskSubstationRunner.java new file mode 100644 index 000000000..abf7fe18e --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/tasks/UploadGwTaskSubstationRunner.java @@ -0,0 +1,30 @@ +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 UploadGwTaskSubstationRunner implements TimerTaskRunner { + + private final UploadGwDataFeignClient uploadGwDataFeignClient; + + @Override + public void action() { + UploadParam param = new UploadParam(); + param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); + uploadGwDataFeignClient.uploadSubstationStatisticalData(param); + } +} diff --git a/pqs-system/system-boot/src/main/resources/bootstrap.yml b/pqs-system/system-boot/src/main/resources/bootstrap.yml index c9ff7293a..e98123e34 100644 --- a/pqs-system/system-boot/src/main/resources/bootstrap.yml +++ b/pqs-system/system-boot/src/main/resources/bootstrap.yml @@ -55,7 +55,7 @@ mybatis-plus: runTake: #最大重试次数 - maxRetryCount: 5 + maxRetryCount: 10 #等待时间(毫秒) delayTime: 5000