diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RAlarmCountJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RAlarmCountJob.java new file mode 100644 index 000000000..7a5359e63 --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RAlarmCountJob.java @@ -0,0 +1,41 @@ +package com.njcn.executor.handler; + +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.executor.utils.CommonExecutorUtils; +import com.njcn.prepare.harmonic.api.line.RAlarmCountFeignClient; +import com.njcn.prepare.harmonic.pojo.param.OrgParam; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * pqs + * 暂态指标统计 + * @author zbj + * @date 2023/07/04 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class RAlarmCountJob { + + private final RAlarmCountFeignClient rAlarmCountFeignClient; + + @XxlJob("rAlarmCountWHandler") + public void rStartEventDHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_WEEK)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_WEEK)); + rAlarmCountFeignClient.rAlarmCountHandler(orgParam); + } + + @XxlJob("rAlarmCountMHandler") + public void rStartEventMHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH)); + rAlarmCountFeignClient.rAlarmCountHandler(orgParam); + } + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RAlarmCountFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RAlarmCountFeignClient.java new file mode 100644 index 000000000..15d275fad --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RAlarmCountFeignClient.java @@ -0,0 +1,22 @@ +package com.njcn.prepare.harmonic.api.line; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.prepare.harmonic.api.line.fallback.RAlarmCountFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.api.line.fallback.RStatEventFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.OrgParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient( + value = ServerInfo.PREPARE_BOOT,//对应模块名 + path = "/rAlarmCount",//对应controller请求类 + fallbackFactory = RAlarmCountFeignClientFallbackFactory.class//服务降级处理类 +) +public interface RAlarmCountFeignClient { + + @PostMapping("/rAlarmCountHandler") + HttpResult rAlarmCountHandler(@RequestBody OrgParam orgParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RAlarmCountFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RAlarmCountFeignClientFallbackFactory.java new file mode 100644 index 000000000..a4d397e04 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RAlarmCountFeignClientFallbackFactory.java @@ -0,0 +1,40 @@ +package com.njcn.prepare.harmonic.api.line.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.line.RAlarmCountFeignClient; +import com.njcn.prepare.harmonic.api.line.RStatEventFeignClient; +import com.njcn.prepare.harmonic.pojo.param.OrgParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author zbj + */ +@Slf4j +@Component +public class RAlarmCountFeignClientFallbackFactory implements FallbackFactory { + + @Override + public RAlarmCountFeignClient 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 RAlarmCountFeignClient() { + + @Override + public HttpResult rAlarmCountHandler(OrgParam orgParam) { + log.error("{}异常,降级处理,异常为:{}", "指标告警统计: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RAlarmCountController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RAlarmCountController.java index 22b541e24..75b8d7fba 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RAlarmCountController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RAlarmCountController.java @@ -52,7 +52,7 @@ public class RAlarmCountController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @PostMapping("/rAlarmCount") + @PostMapping("/rAlarmCountHandler") @ApiOperation("指标告警统计") @ApiImplicitParam(name = "orgParam", value = "参数", required = true) public HttpResult rAlarmCountHandler(@RequestBody @Validated OrgParam orgParam) {