diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java index edf31f24a..59d6dbcec 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java @@ -31,6 +31,7 @@ public interface GlobalErrorCodeConstants { ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常"); ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启"); ErrorCode ERROR_CONFIGURATION = new ErrorCode(502, "错误的配置项"); + ErrorCode FEIGN_ERROR = new ErrorCode(555, "rpc远程调用异常"); // ========== 自定义错误段 ========== ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求 diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/YudaoCloudRpcAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/YudaoCloudRpcAutoConfiguration.java new file mode 100644 index 000000000..ff6dcaec0 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/YudaoCloudRpcAutoConfiguration.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.framework.rpc.config; + +import cn.iocoder.yudao.framework.rpc.core.fallback.YudaoFeignBuilder; +import com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfiguration; +import feign.Feign; +import feign.RequestInterceptor; +import jakarta.annotation.Resource; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Scope; + +import java.util.List; + +/** + * @Description Rpc自动配置 + * @Author tpz + * @Date 2024/10/30 14:27 + */ +@AutoConfiguration +public class YudaoCloudRpcAutoConfiguration { + + @Resource + private List requestInterceptors; + + @Bean + @Scope("prototype") + @ConditionalOnMissingBean + public Feign.Builder feignSentinelBuilder() { + return new YudaoFeignBuilder().requestInterceptors(requestInterceptors); + } + +} \ No newline at end of file diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/package-info.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/package-info.java index 516acc537..53e81f2ef 100644 --- a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/package-info.java +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/config/package-info.java @@ -1,4 +1,6 @@ /** - * 占坑 TODO + * open-feign的自动配置 + * + * @author tpz */ package cn.iocoder.yudao.framework.rpc.config; diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFallbackFactory.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFallbackFactory.java new file mode 100644 index 000000000..7d283b207 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFallbackFactory.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.framework.rpc.core.fallback; + +import feign.Target; +import lombok.AllArgsConstructor; +import org.springframework.cglib.proxy.Enhancer; +import org.springframework.cloud.openfeign.FallbackFactory; + +/** + * 默认 FallbackFactory,用户不自定义FallbackFactory的情况加统一走这个FallbackFactory + * tips:返回的对象不实现任何接口故使用CGLIB的Enhancer+MethodInterceptor代理 + * @author tpz + */ +@AllArgsConstructor +public class YudaoFallbackFactory implements FallbackFactory { + + // 代理对象 + private final Target target; + + @SuppressWarnings("unchecked") + @Override + public T create(Throwable cause) { + Enhancer enhancer = new Enhancer(); + enhancer.setSuperclass(target.type()); + enhancer.setUseCache(true); + enhancer.setCallback(new YudaoFeignFallback<>(target.type(), target.name(), cause)); + return (T) enhancer.create(); + } +} \ No newline at end of file diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignBuilder.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignBuilder.java new file mode 100644 index 000000000..3d3a3c64f --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignBuilder.java @@ -0,0 +1,91 @@ +package cn.iocoder.yudao.framework.rpc.core.fallback; + +import feign.Feign; +import feign.InvocationHandlerFactory; +import feign.Target; +import lombok.SneakyThrows; +import org.springframework.beans.BeansException; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.FeignClientFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.util.StringUtils; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.util.Map; + +/** + * @Description 扩展Feign Builder 代理获取统一fallback 避免每一个peign接口都需要写一个fallback类 + * @Author tpz + * @Date 2024/10/30 14:37 + */ +public class YudaoFeignBuilder extends Feign.Builder implements ApplicationContextAware { + + public String CONTEXT_FALL_BACK = "fallback"; + public String CONTEXT_FALL_BACK_FACTORY = "fallbackFactory"; + + private FeignClientFactory feignClientFactoryBean; + + @Override + public Feign internalBuild() { + super.invocationHandlerFactory(new InvocationHandlerFactory() { + + @SneakyThrows + @Override + public InvocationHandler create(Target target, Map dispatch) { + + // 获取 FeignClient 注解信息 + FeignClient feignClient = AnnotationUtils.findAnnotation(target.type(), FeignClient.class); + assert feignClient != null; + Class fallback = feignClient.fallback(); + Class fallbackFactory = feignClient.fallbackFactory(); + String contextId = feignClient.contextId(); + + if (!StringUtils.hasText(contextId)) { + contextId = feignClient.name(); + } + + Object fallbackInstance; + FallbackFactory fallbackFactoryInstance; + + // 如果有自定义fallback使用自定义fallback + if (void.class != fallback) { + fallbackInstance = getFromContext(contextId, CONTEXT_FALL_BACK, fallback, target.type()); + return new YudaoInvocationHandler(target, dispatch, new FallbackFactory.Default<>(fallbackInstance)); + } + + // 如果有自定义fallbackFactory使用自定义fallbackFactory + if (void.class != fallbackFactory) { + fallbackFactoryInstance = (FallbackFactory) getFromContext(contextId, CONTEXT_FALL_BACK_FACTORY, fallbackFactory, FallbackFactory.class); + return new YudaoInvocationHandler(target, dispatch, fallbackFactoryInstance); + } + + // 默认的FallbackFactory + YudaoFallbackFactory defaultFallbackFactory = new YudaoFallbackFactory<>(target); + return new YudaoInvocationHandler(target, dispatch, defaultFallbackFactory); + } + + private Object getFromContext(String name, String type, Class fallbackType, Class targetType) { + Object fallbackInstance = feignClientFactoryBean.getInstance(name, fallbackType); + if (fallbackInstance == null) { + throw new IllegalStateException(String.format("【rpc 配置错误】类型未找到 name:[{%s}] fallbackType:[{%s}]", name, fallbackType)); + } + if (!targetType.isAssignableFrom(fallbackType)) { + throw new IllegalStateException(String.format("【rpc 配置错误】实例不兼容 name:[{%s}]", name)); + } + return fallbackInstance; + } + }); + + super.contract(contract); + return super.internalBuild(); + } + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + feignClientFactoryBean = applicationContext.getBean(FeignClientFactory.class); + } +} \ No newline at end of file diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignFallback.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignFallback.java new file mode 100644 index 000000000..2e4ab6392 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoFeignFallback.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.framework.rpc.core.fallback; + +import cn.iocoder.yudao.framework.common.exception.ServiceException; +import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.cglib.proxy.MethodInterceptor; +import org.springframework.cglib.proxy.MethodProxy; +import org.springframework.lang.Nullable; + +import java.lang.reflect.Method; +import java.util.Objects; + +/** + * 统一的远程调用fallback返回信息处理 + * 1 在调用端打印错误日志方便后期排查 + * 2 处理返回类型 + * @author tpz + */ +@Slf4j +@AllArgsConstructor +public class YudaoFeignFallback implements MethodInterceptor { + + // 代理类 + private final Class targetType; + private final String targetName; + private final Throwable cause; + + /** + * 统一的远程调用fallback返回信息处理 + * @author tpz + * @date 2024/10/31 9:23 + **/ + @Nullable + @Override + public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { + String errorMessage = cause.getMessage(); + log.error("【rpc调用异常】被调服务:[{}] 错误信息:[{}]", targetName, errorMessage); + + // 否则是在调用的过程中发生的异常 + if (cause instanceof ServiceException) { + Integer code = ((ServiceException) cause).getCode(); + // 如果是系统异常直接返回feign错误编码 否则返回业务异常的编码 + return CommonResult.error(Objects.equals(code, GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode()) ? + GlobalErrorCodeConstants.FEIGN_ERROR.getCode() : code, errorMessage); + } + + // 其他情况统一返回feign的错误编码 + return CommonResult.error(GlobalErrorCodeConstants.FEIGN_ERROR.getCode(), errorMessage); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YudaoFeignFallback that = (YudaoFeignFallback) o; + return targetType.equals(that.targetType); + } + + @Override + public int hashCode() { + return Objects.hash(targetType); + } +} diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoInvocationHandler.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoInvocationHandler.java new file mode 100644 index 000000000..6d999eb79 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/YudaoInvocationHandler.java @@ -0,0 +1,152 @@ +package cn.iocoder.yudao.framework.rpc.core.fallback; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import feign.InvocationHandlerFactory; +import feign.Target; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.util.LinkedHashMap; +import java.util.Map; + +import static feign.Util.checkNotNull; + +/** + * 远程调用发生异常自动走统一fallback代理类处理 + * @author tpz + */ +public class YudaoInvocationHandler implements InvocationHandler { + + private final Target target; + + private final Map dispatch; + + private FallbackFactory fallbackFactory; + + private Map fallbackMethodMap; + + public YudaoInvocationHandler(Target target, Map dispatch, + FallbackFactory fallbackFactory) { + this.target = checkNotNull(target, "target"); + this.dispatch = checkNotNull(dispatch, "dispatch"); + this.fallbackFactory = fallbackFactory; + this.fallbackMethodMap = toFallbackMethod(dispatch); + } + + public YudaoInvocationHandler(Target target, Map dispatch) { + this.target = checkNotNull(target, "target"); + this.dispatch = checkNotNull(dispatch, "dispatch"); + } + + @Override + public Object invoke(final Object proxy, final Method method, final Object[] args) + throws Throwable { + // 其他方法直接执行 + Object result = handleNormalMethod(method, args); + if (result != null) return result; + // 获取当前执行代理的方法 + InvocationHandlerFactory.MethodHandler methodHandler = this.dispatch.get(method); + // 只代理feign的HardCodedTarget + if (target instanceof Target.HardCodedTarget) { + try { + // 执行远程调用 + result = methodHandler.invoke(args); + // 执行错误的情况 + handleErrResult(result); + } catch (Throwable ex) { + // fallback handle + if (fallbackFactory != null) { + try { + // 根据方法名称使用过程创建代理对象 + return fallbackMethodMap.get(method) + .invoke(fallbackFactory.create(ex), args); + } catch (IllegalAccessException e) { + throw new AssertionError(e); + } catch (InvocationTargetException e) { + throw new AssertionError(e.getCause()); + } + } else { + // 没有fallback就报错 + throw ex; + } + } + } else { + // 直接执行 + result = methodHandler.invoke(args); + } + + return result; + } + + /** + * 其他方法直接执行 + * + * @author tpz + * @date 2024/10/30 16:41 + **/ + private Object handleNormalMethod(Method method, Object[] args) { + if ("equals".equals(method.getName())) { + try { + Object otherHandler = args.length > 0 && args[0] != null + ? Proxy.getInvocationHandler(args[0]) : null; + return equals(otherHandler); + } catch (IllegalArgumentException e) { + return false; + } + } else if ("hashCode".equals(method.getName())) { + return hashCode(); + } else if ("toString".equals(method.getName())) { + return toString(); + } + return null; + } + + /** + * 错误的情况抛出异常继续走fallback + * + * @author tpz + * @date 2024/10/30 18:08 + **/ + private void handleErrResult(Object result) { + if (result instanceof CommonResult) { + // 如果请远程调用报错会抛出遗异常 + ((CommonResult) result).getCheckedData(); + } + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof YudaoInvocationHandler) { + YudaoInvocationHandler other = (YudaoInvocationHandler) obj; + return target.equals(other.target); + } + return false; + } + + @Override + public int hashCode() { + return target.hashCode(); + } + + @Override + public String toString() { + return target.toString(); + } + + /** + * @author tpz + * @date 2024/10/30 16:42 + **/ + static Map toFallbackMethod(Map dispatch) { + Map result = new LinkedHashMap<>(); + for (Method method : dispatch.keySet()) { + method.setAccessible(true); + result.put(method, method); + } + return result; + } + +} diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/package-info.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/package-info.java new file mode 100644 index 000000000..646110fa5 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/fallback/package-info.java @@ -0,0 +1,6 @@ +/** + * 使用代理模式提供默认的fallback实现,避免反复写fallback类 + * + * @author tpz + */ +package cn.iocoder.yudao.framework.rpc.core.fallback; diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/package-info.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/package-info.java index e8e494628..e240f52ad 100644 --- a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/package-info.java +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/core/package-info.java @@ -1,4 +1,6 @@ /** - * 占坑 TODO + * feign自动配置的核心类 + * + * @author tpz */ package cn.iocoder.yudao.framework.rpc.core; diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/package-info.java b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/package-info.java index 4441019dd..721e3203e 100644 --- a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/package-info.java +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/java/cn/iocoder/yudao/framework/rpc/package-info.java @@ -1,6 +1,6 @@ /** - * OpenFeign:提供 RESTful API 的调用 + * feign远程调用的相关配置 * - * @author 芋道源码 + * @author tpz */ package cn.iocoder.yudao.framework.rpc; diff --git a/yudao-framework/yudao-spring-boot-starter-rpc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 000000000..172ed4879 --- /dev/null +++ b/yudao-framework/yudao-spring-boot-starter-rpc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +cn.iocoder.yudao.framework.rpc.config.YudaoCloudRpcAutoConfiguration \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApi.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApi.java index 1e3d158f0..66cc48ee3 100644 --- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApi.java +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApi.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 流程实例") public interface BpmProcessInstanceApi { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/config/ConfigApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/config/ConfigApi.java index 53803d4d1..88ed82e63 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/config/ConfigApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/config/ConfigApi.java @@ -8,7 +8,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 参数配置") public interface ConfigApi { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java index 9c6f0f4a3..46428c92f 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 文件") public interface FileApi { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApi.java index 19a6be454..b3efd038a 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - API 访问日志") public interface ApiAccessLogApi { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApi.java index 8bf1a5489..32995bca3 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - API 异常日志") public interface ApiErrorLogApi { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/websocket/WebSocketSenderApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/websocket/WebSocketSenderApi.java index 0e8490e01..e9df40d8a 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/websocket/WebSocketSenderApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/websocket/WebSocketSenderApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - WebSocket 发送器的") // 对 WebSocketMessageSender 进行封装,提供给其它模块使用 public interface WebSocketSenderApi { diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/category/ProductCategoryApi.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/category/ProductCategoryApi.java index 5e58b0483..aceeb2b72 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/category/ProductCategoryApi.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/category/ProductCategoryApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 商品分类") public interface ProductCategoryApi { diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/comment/ProductCommentApi.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/comment/ProductCommentApi.java index c29a25b83..f4b963856 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/comment/ProductCommentApi.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/comment/ProductCommentApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 产品评论") public interface ProductCommentApi { diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/sku/ProductSkuApi.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/sku/ProductSkuApi.java index 2f32ed9df..461cc09ec 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/sku/ProductSkuApi.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/sku/ProductSkuApi.java @@ -20,7 +20,7 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 商品 SKU") public interface ProductSkuApi { diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java index ec18b13be..e823bb780 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java @@ -16,7 +16,7 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 商品 SPU") public interface ProductSpuApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainActivityApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainActivityApi.java index c0a0cfcdc..1dd6eb336 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainActivityApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainActivityApi.java @@ -10,7 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 砍价活动") public interface BargainActivityApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainRecordApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainRecordApi.java index 5b8eed59b..5d8a17e4e 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainRecordApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/bargain/BargainRecordApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 砍价记录") public interface BargainRecordApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApi.java index be17a76b6..76260ce32 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApi.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestParam; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 拼团记录") public interface CombinationRecordApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApi.java index 7c8d31672..14abfdfff 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponApi.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 优惠劵") public interface CouponApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/discount/DiscountActivityApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/discount/DiscountActivityApi.java index 99395b983..182a57744 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/discount/DiscountActivityApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/discount/DiscountActivityApi.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.List; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 限时折扣") public interface DiscountActivityApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/point/PointActivityApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/point/PointActivityApi.java index 87393d336..82451e511 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/point/PointActivityApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/point/PointActivityApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 秒杀活动") public interface PointActivityApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/reward/RewardActivityApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/reward/RewardActivityApi.java index 5843ee4cc..850f6b1df 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/reward/RewardActivityApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/reward/RewardActivityApi.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.List; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 满减送") public interface RewardActivityApi { diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/seckill/SeckillActivityApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/seckill/SeckillActivityApi.java index bb485eb6b..4e7cc8814 100644 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/seckill/SeckillActivityApi.java +++ b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/seckill/SeckillActivityApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 秒杀活动") public interface SeckillActivityApi { diff --git a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/api/order/TradeOrderApi.java b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/api/order/TradeOrderApi.java index 7efb8b2b7..d2836cc96 100644 --- a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/api/order/TradeOrderApi.java +++ b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/api/order/TradeOrderApi.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.List; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 订单") public interface TradeOrderApi { diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java index 5dd696a72..a81d141d4 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/address/MemberAddressApi.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 用户收件地址") public interface MemberAddressApi { diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java index 3a65f47fd..eec3ce6ed 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java @@ -8,7 +8,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 用户配置") public interface MemberConfigApi { diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java index 615fcd2d6..e1d1e9b5e 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 会员等级") public interface MemberLevelApi { diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java index 50f787f58..febc0bc50 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam; import jakarta.validation.constraints.Min; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 用户积分") public interface MemberPointApi { diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java index 02fba6aed..8f07c3643 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApi.java @@ -16,7 +16,7 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 会员用户") public interface MemberUserApi { diff --git a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/order/PayOrderApi.java b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/order/PayOrderApi.java index c0d818d3b..26a976299 100644 --- a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/order/PayOrderApi.java +++ b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/order/PayOrderApi.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 支付单") public interface PayOrderApi { diff --git a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/refund/PayRefundApi.java b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/refund/PayRefundApi.java index eed16f92d..f42dfd63e 100644 --- a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/refund/PayRefundApi.java +++ b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/refund/PayRefundApi.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 退款单") public interface PayRefundApi { diff --git a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApi.java b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApi.java index a5238d632..d010c2433 100644 --- a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApi.java +++ b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApi.java @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 转账单") public interface PayTransferApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java index 179840971..5da8410f2 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 部门") public interface DeptApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java index bec33087c..937623241 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java @@ -17,7 +17,7 @@ import java.util.Collection; import java.util.List; import java.util.Map; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 岗位") public interface PostApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java index f29248dae..358657ca0 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java @@ -18,7 +18,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 字典数据") public interface DictDataApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.java index e0e86704d..e2163b9d9 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 登录日志") public interface LoginLogApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java index 972a40e5e..269eac7cb 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 操作日志") public interface OperateLogApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.java index 27eabc09a..f4e6840a2 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 邮件发送") public interface MailSendApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.java index c145d550d..f37aff343 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 站内信发送") public interface NotifyMessageSendApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApi.java index 7d0893635..ee7ede8ce 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApi.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - OAuth2.0 令牌") public interface OAuth2TokenApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java index 9b023acc4..edfa9b197 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.Set; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 权限") public interface PermissionApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java index 33c6fa23e..f9a483316 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 角色") public interface RoleApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java index dec970bd7..231aa28e7 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 短信验证码") public interface SmsCodeApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java index 12f87d2f5..4e9df6898 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 短信发送") public interface SmsSendApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.java index 5eeadadb3..04ff8bfb7 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 社交应用") public interface SocialClientApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.java index 33284313f..cf30d20b9 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 社交用户") public interface SocialUserApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java index 2b3e209fe..e1a52697a 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 多租户") public interface TenantApi { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java index d864527ae..ca7e40fd4 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java @@ -22,7 +22,7 @@ import java.util.Map; import static cn.iocoder.yudao.module.system.api.user.AdminUserApi.PREFIX; -@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 管理员用户") @AutoTrans(namespace = PREFIX, fields = {"nickname"}) public interface AdminUserApi extends AutoTransable {