diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpPassrateJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpPassrateJob.java new file mode 100644 index 000000000..24e9f56c6 --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpPassrateJob.java @@ -0,0 +1,49 @@ +package com.njcn.executor.handler; + +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.executor.utils.CommonExecutorUtils; +import com.njcn.prepare.harmonic.api.newalgorithm.RMpPassrateFeignClient; +import com.njcn.prepare.harmonic.api.newalgorithm.ROperatingMonitorFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/7/26 15:55 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class RMpPassrateJob { + + private final RMpPassrateFeignClient rMpPassrateFeignClient; + + @XxlJob("rMpPassrateDay") + public void rMpPassrateDay(){ + log.info(LocalDateTime.now()+"监测点稳态指标合格率_日统计调度开始------------------------"); + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + rMpPassrateFeignClient.passRateHandler(lineParam); + } + + @XxlJob("rMpPassrateMonth") + public void rMpPassrateMonth(){ + log.info(LocalDateTime.now()+"监测点稳态指标合格率_月统计调度开始------------------------"); + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH)); + lineParam.setDataSource(2); + rMpPassrateFeignClient.passRateHandler(lineParam); + } + +} diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatHarmonicJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatHarmonicJob.java index 77685e164..67e294225 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatHarmonicJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatHarmonicJob.java @@ -40,7 +40,6 @@ public class RStatHarmonicJob { OrgParam orgParam = new OrgParam(); orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH)); orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH)); - System.out.println("orgParam==:" + orgParam); rStatHarmonicFeignClient.handler(orgParam); } diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/RMpPassrateFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/RMpPassrateFeignClient.java new file mode 100644 index 000000000..5df70e2b2 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/RMpPassrateFeignClient.java @@ -0,0 +1,25 @@ +package com.njcn.prepare.harmonic.api.newalgorithm; + + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.prepare.harmonic.api.newalgorithm.fallback.RMpPassrateFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient( + value = ServerInfo.PREPARE_BOOT,//对应模块名 + path = "/rmppassrate",//对应controller请求类 + fallbackFactory = RMpPassrateFeignClientFallbackFactory.class//服务降级处理类 +) +public interface RMpPassrateFeignClient { + + @PostMapping("/passRateHandler") + @ApiOperation("监测点稳态指标合格率统计") + HttpResult passRateHandler(@RequestBody @Validated LineParam lineParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/fallback/RMpPassrateFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/fallback/RMpPassrateFeignClientFallbackFactory.java new file mode 100644 index 000000000..6af2a65c2 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/newalgorithm/fallback/RMpPassrateFeignClientFallbackFactory.java @@ -0,0 +1,33 @@ +package com.njcn.prepare.harmonic.api.newalgorithm.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.device.biz.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.newalgorithm.RMpPassrateFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class RMpPassrateFeignClientFallbackFactory implements FallbackFactory { + @Override + public RMpPassrateFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new RMpPassrateFeignClient() { + @Override + public HttpResult passRateHandler(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标合格率统计: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +}