From 71667ac70ad760c48b676d196819333f6d401372 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Sun, 8 Oct 2023 10:50:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/redis/pojo/enums/AppRedisKey.java | 5 ++ .../com/njcn/user/api/AppUserFeignClient.java | 25 ++++++++++ .../com/njcn/user/api/UserFeignClient.java | 3 -- .../AppUserFeignClientFallbackFactory.java | 50 +++++++++++++++++++ .../UserFeignClientFallbackFactory.java | 7 --- 5 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 pqs-user/user-api/src/main/java/com/njcn/user/api/AppUserFeignClient.java create mode 100644 pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/AppUserFeignClientFallbackFactory.java diff --git a/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/AppRedisKey.java b/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/AppRedisKey.java index 6303fd5e8..accd3a1c1 100644 --- a/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/AppRedisKey.java +++ b/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/AppRedisKey.java @@ -53,4 +53,9 @@ public interface AppRedisKey { String TIME="time-:"; + /** + * 文件分片信息 + */ + String FILE_PART="filePartKey:"; + } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/AppUserFeignClient.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/AppUserFeignClient.java new file mode 100644 index 000000000..b610c0820 --- /dev/null +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/AppUserFeignClient.java @@ -0,0 +1,25 @@ +package com.njcn.user.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.user.api.fallback.AppUserFeignClientFallbackFactory; +import com.njcn.user.api.fallback.UserFeignClientFallbackFactory; +import com.njcn.user.pojo.dto.UserDTO; +import com.njcn.user.pojo.po.User; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2021年05月08日 15:11 + */ +@FeignClient(value = ServerInfo.USER,path = "/appUser",fallbackFactory = AppUserFeignClientFallbackFactory.class,contextId = "appUser") +public interface AppUserFeignClient { + + @PostMapping("/getAdminInfo") + HttpResult> getAdminInfo(); + +} diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java index 38b815bf0..7aaecc852 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/UserFeignClient.java @@ -64,7 +64,4 @@ public interface UserFeignClient { */ @PostMapping("/userByIdList") HttpResult> getUserByIdList(@RequestBody List ids); - - @PostMapping("/getAdminInfo") - HttpResult> getAdminInfo(); } diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/AppUserFeignClientFallbackFactory.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/AppUserFeignClientFallbackFactory.java new file mode 100644 index 000000000..cd896f8cc --- /dev/null +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/AppUserFeignClientFallbackFactory.java @@ -0,0 +1,50 @@ +package com.njcn.user.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.user.api.AppUserFeignClient; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.dto.UserDTO; +import com.njcn.user.pojo.po.User; +import com.njcn.user.utils.UserEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2021年08月24日 10:21 + */ +@Slf4j +@Component +public class AppUserFeignClientFallbackFactory implements FallbackFactory { + + + /** + * 输出远程请求接口异常日志 + * @param cause RPC请求异常 + */ + @Override + public AppUserFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if(cause.getCause() instanceof BusinessException){ + BusinessException businessException = (BusinessException) cause.getCause(); + exceptionEnum = UserEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new AppUserFeignClient() { + + @Override + public HttpResult> getAdminInfo() { + log.error("{}异常,降级处理,异常为:{}","获取业务管理员信息",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; + } +} diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java index 375827e98..8136c088f 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/api/fallback/UserFeignClientFallbackFactory.java @@ -66,13 +66,6 @@ public class UserFeignClientFallbackFactory implements FallbackFactory> getAdminInfo() { - log.error("{}异常,降级处理,异常为:{}","获取业务管理员信息",cause.toString()); - throw new BusinessException(finalExceptionEnum); - } - }; } }