From 4e95159e01557019f894536ee1a1d248a2d3def0 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Thu, 5 Mar 2026 19:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E6=9C=AF=E7=9B=91=E7=9D=A3=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...erLedgerOldFeignClientFallbackFactory.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/UserLedgerOldFeignClientFallbackFactory.java diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/UserLedgerOldFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/UserLedgerOldFeignClientFallbackFactory.java new file mode 100644 index 000000000..03f6d2067 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/UserLedgerOldFeignClientFallbackFactory.java @@ -0,0 +1,57 @@ +package com.njcn.supervision.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.supervision.api.UserLedgerOldFeignClient; +import com.njcn.supervision.pojo.param.user.UserReportParam; +import com.njcn.supervision.pojo.vo.user.NewUserReportVO; +import com.njcn.supervision.pojo.vo.user.UserLedgerVO; +import com.njcn.supervision.utils.SupervisionEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + + +@Slf4j +@Component +public class UserLedgerOldFeignClientFallbackFactory implements FallbackFactory { + @Override + public UserLedgerOldFeignClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = SupervisionEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new UserLedgerOldFeignClient() { + + @Override + public HttpResult> selectUserList(UserReportParam userReportParam) { + log.error("{}异常,降级处理,异常为:{}", "查询用户台账", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult selectUserInfo(String id) { + log.error("{}异常,降级处理,异常为:{}", "查询用户台账详情", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> bindUserStation(String userId, String stationId) { + log.error("{}异常,降级处理,异常为:{}", "用户电站信息绑定", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getUserReportByIds(List ids) { + log.error("{}异常,降级处理,异常为:{}", "根据ids获取非电网侧用户信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +}