diff --git a/README.md b/README.md index c20e360374bcabf97f8b766e6a5951b3a43a78db..c5372708fcb2974438c30443b6ec720554c6be4e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ com.fhs-opensource easy-trans-solon-plugin - 1.1.2 + 1.1.3-M1 ``` diff --git a/easy-trans-anno-solon/pom.xml b/easy-trans-anno-solon/pom.xml index 5706c7d4b01f69fb7974bfb20588b45883e2a9ae..5a606fe344ea2117e43f5f905b0920fe1f288696 100644 --- a/easy-trans-anno-solon/pom.xml +++ b/easy-trans-anno-solon/pom.xml @@ -2,14 +2,17 @@ + 4.0.0 + com.fhs-opensource easy-trans-solon - 1.1.2 + 1.1.3-M1 ../pom.xml - 4.0.0 + easy-trans-anno-solon + com.baomidou diff --git a/easy-trans-service-solon/pom.xml b/easy-trans-service-solon/pom.xml index bc7297e8f9b7a36073f09715375396e77ad4134e..355448b4bdd49a5aca0aeacccc956c4e433148da 100644 --- a/easy-trans-service-solon/pom.xml +++ b/easy-trans-service-solon/pom.xml @@ -2,16 +2,17 @@ + 4.0.0 + com.fhs-opensource easy-trans-solon - 1.1.2 + 1.1.3-M1 ../pom.xml - 1.1.2 - 4.0.0 - com.fhs-opensource + easy-trans-service-solon + net.bytebuddy diff --git a/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/GlobalRouterInterceptor.java b/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/GlobalRouterInterceptor.java new file mode 100644 index 0000000000000000000000000000000000000000..a38909e5effacc3bd39bc7b95e0c61a528bcc8b7 --- /dev/null +++ b/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/GlobalRouterInterceptor.java @@ -0,0 +1,35 @@ +package com.fhs.trans.interceptor; + +import com.fhs.trans.service.impl.TransService; +import org.noear.solon.annotation.Component; +import org.noear.solon.annotation.Inject; +import org.noear.solon.core.handle.Context; +import org.noear.solon.core.handle.Handler; +import org.noear.solon.core.route.RouterInterceptor; +import org.noear.solon.core.route.RouterInterceptorChain; + +/** + * 全局路由拦截器 + * + * @author noear + */ +@Component +public class GlobalRouterInterceptor implements RouterInterceptor { + @Inject + private TransService transService; + + @Override + public void doIntercept(Context ctx, Handler mainHandler, RouterInterceptorChain chain) throws Throwable { + chain.doIntercept(ctx, mainHandler); + } + + @Override + public Object postResult(Context ctx, Object result) throws Throwable { + //此处为拦截处理 + if (result != null && !(result instanceof Throwable) && ctx.action() != null) { + result = transService.transOneLoop(result, true); + } + + return result; + } +} diff --git a/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/TransInterceptor.java b/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/TransInterceptor.java index db3613f0f66cde9e1e8252a7a7145db25973e6f9..3ec82a7995a48c6300331792bea182640a290741 100644 --- a/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/TransInterceptor.java +++ b/easy-trans-service-solon/src/main/java/com/fhs/trans/interceptor/TransInterceptor.java @@ -1,7 +1,8 @@ package com.fhs.trans.interceptor; import com.fhs.trans.service.impl.TransService; -import org.noear.solon.Solon; +import org.noear.solon.annotation.Component; +import org.noear.solon.annotation.Inject; import org.noear.solon.core.aspect.Interceptor; import org.noear.solon.core.aspect.Invocation; @@ -9,23 +10,20 @@ import org.noear.solon.core.aspect.Invocation; * 翻译拦截器 * */ +@Component public class TransInterceptor implements Interceptor { + @Inject private TransService transService; - @Override public Object doIntercept(Invocation inv) throws Throwable { - init(); //此处为拦截处理 Object rst = inv.invoke(); - rst = transService.transOneLoop(rst,true); - return rst; - } - - public synchronized void init() { - if (transService == null) { - transService = Solon.context().getBean(TransService.class); + if (rst != null) { + rst = transService.transOneLoop(rst, true); } + + return rst; } } diff --git a/easy-trans-solon-plugin/pom.xml b/easy-trans-solon-plugin/pom.xml index 1bd1ea643b6e8327820379e856ddffa8c7dfbdd9..6acb4dbe87e3183c60682bae23e3cb1bd3eb133e 100644 --- a/easy-trans-solon-plugin/pom.xml +++ b/easy-trans-solon-plugin/pom.xml @@ -2,15 +2,17 @@ + 4.0.0 + com.fhs-opensource easy-trans-solon - 1.1.2 + 1.1.3-M1 ../pom.xml - 4.0.0 - 1.1.2 + easy-trans-solon-plugin + com.fhs-opensource @@ -21,6 +23,7 @@ solon + diff --git a/easy-trans-solon-plugin/src/main/java/com/fhs/trans/config/EasyTransPlugin.java b/easy-trans-solon-plugin/src/main/java/com/fhs/trans/config/EasyTransPlugin.java index 5b17023914f9b7e1a754c22df87b189bba55fcb7..17fb601b7cbc6d5bc6a01e3836700b889ac61c69 100644 --- a/easy-trans-solon-plugin/src/main/java/com/fhs/trans/config/EasyTransPlugin.java +++ b/easy-trans-solon-plugin/src/main/java/com/fhs/trans/config/EasyTransPlugin.java @@ -1,10 +1,10 @@ package com.fhs.trans.config; import com.fhs.core.trans.anno.TransMethodResult; +import com.fhs.trans.interceptor.GlobalRouterInterceptor; import com.fhs.trans.interceptor.TransInterceptor; import com.fhs.trans.listener.TransMessageListener; import com.fhs.trans.service.impl.RpcTransService; -import org.noear.solon.annotation.Controller; import org.noear.solon.core.AopContext; import org.noear.solon.core.Plugin; @@ -14,18 +14,18 @@ public class EasyTransPlugin implements Plugin { @Override public void start(AopContext context) { //增加云启用控制 - if (context.getProps().getBool("easy-trans.enable-cloud", false)) { + if (context.cfg().getBool("easy-trans.enable-cloud", false)) { context.beanMake(TransMessageListener.class); context.beanMake(RpcTransService.class); context.beanScan("com.fhs.trans.controller"); } //增加云启用控制 - if (context.getProps().getBool("easy-trans.enable-global", false)) { - context.beanAroundAdd(Controller.class, new TransInterceptor()); + if (context.cfg().getBool("easy-trans.enable-global", false)) { + context.beanMake(GlobalRouterInterceptor.class); } - context.beanAroundAdd(TransMethodResult.class, new TransInterceptor()); + TransInterceptor transInterceptor = context.beanMake(TransInterceptor.class).get(); + context.beanAroundAdd(TransMethodResult.class, transInterceptor); context.beanScan("com.fhs.trans.config"); - } } diff --git a/pom.xml b/pom.xml index 0dfa9e9f255275375dca5e3a5e6900244d32ce80..6b7cd8e3e8a84de55a1071cc360bac219ef25ab7 100644 --- a/pom.xml +++ b/pom.xml @@ -2,34 +2,42 @@ + 4.0.0 org.sonatype.oss oss-parent 7 + com.fhs-opensource - https://gitee.com/fhs-opensource/easy_trans_solon - 4.0.0 easy-trans-solon - 1.1.2 + 1.1.3-M1 + pom + + + https://gitee.com/fhs-opensource/easy_trans_solon + easy-trans-anno-solon easy-trans-service-solon easy-trans-solon-plugin + UTF-8 1.8 1.8 - 1.1.2 + 1.1.3-M1 3.5.2 - 1.10.6 + 1.12.3-M6 + +