From bd8d416bb05b955137975e74f9f239a3af171b24 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Fri, 7 Jul 2023 14:49:08 +0800 Subject: [PATCH] =?UTF-8?q?zbj//1.r=5Fstat=5Forg=5Fd/m/q/y=20=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=202.r=5Fmp=5Fdev=5Fevaluate=5Fdetail=20=E8=B0=83?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/RMpDevEvaluateDetailJob.java | 33 +++++++++++ .../njcn/executor/handler/RStatOrgJob.java | 58 +++++++++++++++++++ .../line/RMpDevEvaluateDetailFeignClient.java | 22 +++++++ .../api/line/RStatOrgFeignClient.java | 22 +++++++ ...luateDetailFeignClientFallbackFactory.java | 40 +++++++++++++ .../RStatOrgFeignClientFallbackFactory.java | 40 +++++++++++++ .../RStatSubstationController.java | 3 + 7 files changed, 218 insertions(+) create mode 100644 pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpDevEvaluateDetailJob.java create mode 100644 pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatOrgJob.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RMpDevEvaluateDetailFeignClient.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RStatOrgFeignClient.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RMpDevEvaluateDetailFeignClientFallbackFactory.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RStatOrgFeignClientFallbackFactory.java diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpDevEvaluateDetailJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpDevEvaluateDetailJob.java new file mode 100644 index 000000000..884fbb5e3 --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RMpDevEvaluateDetailJob.java @@ -0,0 +1,33 @@ +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.RMpDevEvaluateDetailFeignClient; +import com.njcn.prepare.harmonic.api.line.RStatOrgFeignClient; +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/07 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class RMpDevEvaluateDetailJob { + + private final RMpDevEvaluateDetailFeignClient rMpDevEvaluateDetailFeignClient; + + @XxlJob("rMpDevEvaluateDetailDHandler") + public void rMpDevEvaluateDetailDHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + rMpDevEvaluateDetailFeignClient.handler(orgParam); + } +} diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatOrgJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatOrgJob.java new file mode 100644 index 000000000..0d0466f7c --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/RStatOrgJob.java @@ -0,0 +1,58 @@ +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.RStatEventFeignClient; +import com.njcn.prepare.harmonic.api.line.RStatOrgFeignClient; +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/07 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class RStatOrgJob { + + private final RStatOrgFeignClient rStatOrgFeignClient; + + @XxlJob("rStartOrgDHandler") + public void rStartEventDHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + rStatOrgFeignClient.handler(orgParam); + } + + @XxlJob("rStartOrgMHandler") + public void rStartEventMHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH)); + rStatOrgFeignClient.handler(orgParam); + } + + @XxlJob("rStartOrgQHandler") + public void rStartEventQHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_QUARTER)); + rStatOrgFeignClient.handler(orgParam); + } + + @XxlJob("rStartOrgYHandler") + public void rStartEventYHandler(){ + OrgParam orgParam = new OrgParam(); + orgParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR)); + orgParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_YEAR)); + rStatOrgFeignClient.handler(orgParam); + } + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RMpDevEvaluateDetailFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RMpDevEvaluateDetailFeignClient.java new file mode 100644 index 000000000..6f40b72c9 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RMpDevEvaluateDetailFeignClient.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.RMpDevEvaluateDetailFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.api.line.fallback.RStatOrgFeignClientFallbackFactory; +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 = "/rMpDevEvaluateDetail",//对应controller请求类 + fallbackFactory = RMpDevEvaluateDetailFeignClientFallbackFactory.class//服务降级处理类 +) +public interface RMpDevEvaluateDetailFeignClient { + + @PostMapping("/handler") + HttpResult handler(@RequestBody OrgParam orgParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RStatOrgFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RStatOrgFeignClient.java new file mode 100644 index 000000000..4d28dbc30 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/RStatOrgFeignClient.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.RStatEventFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.api.line.fallback.RStatOrgFeignClientFallbackFactory; +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 = "/rstatorg",//对应controller请求类 + fallbackFactory = RStatOrgFeignClientFallbackFactory.class//服务降级处理类 +) +public interface RStatOrgFeignClient { + + @PostMapping("/Handler") + HttpResult handler(@RequestBody OrgParam orgParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RMpDevEvaluateDetailFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RMpDevEvaluateDetailFeignClientFallbackFactory.java new file mode 100644 index 000000000..e6b070325 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RMpDevEvaluateDetailFeignClientFallbackFactory.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.RMpDevEvaluateDetailFeignClient; +import com.njcn.prepare.harmonic.api.line.RStatOrgFeignClient; +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 RMpDevEvaluateDetailFeignClientFallbackFactory implements FallbackFactory { + + @Override + public RMpDevEvaluateDetailFeignClient 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 RMpDevEvaluateDetailFeignClient() { + + @Override + public HttpResult handler(OrgParam orgParam) { + log.error("{}异常,降级处理,异常为:{}", "终端数据评价_日统计: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; + } +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RStatOrgFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RStatOrgFeignClientFallbackFactory.java new file mode 100644 index 000000000..6d7a1cefd --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/RStatOrgFeignClientFallbackFactory.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.RStatEventFeignClient; +import com.njcn.prepare.harmonic.api.line.RStatOrgFeignClient; +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 RStatOrgFeignClientFallbackFactory implements FallbackFactory { + + @Override + public RStatOrgFeignClient 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 RStatOrgFeignClient() { + + @Override + public HttpResult handler(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/RStatSubstationController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatSubstationController.java index 1b294140c..86cf55229 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatSubstationController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatSubstationController.java @@ -74,7 +74,10 @@ public class RStatSubstationController extends BaseController { deptGetLineParam.setServerName(ServerInfo.PREPARE_BOOT); List data = commTerminalGeneralClient.deptSubStation(deptGetLineParam).getData(); + long start = System.currentTimeMillis(); rStatSubstationService.handler(data,orgParam.getDataDate(),orgParam.getType()); + long end = System.currentTimeMillis(); + System.out.println("该方法总耗时为 ---> "+(end-start)); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); }