From ac0e5bbc97c96ad26439f08b1796582cebcec05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A2=E9=B9=8F=E6=88=90?= Date: Mon, 7 Mar 2022 17:28:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eextension=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easy-es-boot-starter/pom.xml | 13 +++++++---- .../autoconfig/config/EsConfigProperties.java | 12 ++++++---- .../register/MapperFactoryBean.java | 6 ++--- easy-es-core/pom.xml | 4 ++-- easy-es-extension/pom.xml | 23 +++++++++++++++++++ .../easyes/extension/anno}/Intercepts.java | 2 +- .../xpc/easyes/extension/anno}/Signature.java | 2 +- .../extension/plugins}/Interceptor.java | 2 +- .../extension/plugins}/InterceptorChain.java | 2 +- .../easyes/extension/plugins}/Invocation.java | 2 +- .../xpc/easyes/extension/plugins}/Plugin.java | 13 ++++++----- .../extension}/utils/ExceptionUtil.java | 2 +- easy-es-parent/pom.xml | 3 ++- easy-es-sample/pom.xml | 4 ++-- .../xpc/easyes/sample/EasyEsApplication.java | 5 +--- .../xpc/easyes/sample/entity/GeneralBean.java | 2 +- .../sample/interceptor/DeleteInterceptor.java | 23 +++++++++---------- .../sample/interceptor/QueryInterceptor.java | 14 +++++------ pom.xml | 2 +- 19 files changed, 82 insertions(+), 54 deletions(-) create mode 100644 easy-es-extension/pom.xml rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/anno}/Intercepts.java (83%) rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/anno}/Signature.java (93%) rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins}/Interceptor.java (87%) rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins}/InterceptorChain.java (95%) rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins}/Invocation.java (94%) rename {easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor => easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins}/Plugin.java (83%) rename {easy-es-core/src/main/java/com/xpc/easyes/core => easy-es-extension/src/main/java/com/xpc/easyes/extension}/utils/ExceptionUtil.java (95%) diff --git a/easy-es-boot-starter/pom.xml b/easy-es-boot-starter/pom.xml index 36dca4bf..a614d23b 100644 --- a/easy-es-boot-starter/pom.xml +++ b/easy-es-boot-starter/pom.xml @@ -5,7 +5,7 @@ easy-es-parent io.github.xpc1024 - 0.9.6 + 0.9.7 ../easy-es-parent 4.0.0 @@ -21,12 +21,17 @@ io.github.xpc1024 easy-es-core - 0.9.6 + 0.9.7 - org.springframework.boot - spring-boot-autoconfigure + io.github.xpc1024 + easy-es-extension + 0.9.7 + + org.springframework.boot + spring-boot-autoconfigure + commons-codec commons-codec diff --git a/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/config/EsConfigProperties.java b/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/config/EsConfigProperties.java index 3456a7ee..616d4a28 100644 --- a/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/config/EsConfigProperties.java +++ b/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/config/EsConfigProperties.java @@ -1,7 +1,8 @@ package com.xpc.easyes.autoconfig.config; -import com.xpc.easyes.core.plugin.interceptor.Interceptor; -import com.xpc.easyes.core.plugin.interceptor.InterceptorChain; + +import com.xpc.easyes.extension.plugins.Interceptor; +import com.xpc.easyes.extension.plugins.InterceptorChain; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -58,14 +59,15 @@ public class EsConfigProperties { */ protected InterceptorChain interceptorChain; - public void initInterceptorChain(){ - if(interceptorChain == null){ - interceptorChain = new InterceptorChain(); + public void initInterceptorChain() { + if (interceptorChain == null) { + interceptorChain = new InterceptorChain(); } } /** * 添加拦截器 + * * @param interceptor */ public void addInterceptor(Interceptor interceptor) { diff --git a/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/register/MapperFactoryBean.java b/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/register/MapperFactoryBean.java index da52a6bf..3337cc86 100644 --- a/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/register/MapperFactoryBean.java +++ b/easy-es-boot-starter/src/main/java/com/xpc/easyes/autoconfig/register/MapperFactoryBean.java @@ -2,10 +2,10 @@ package com.xpc.easyes.autoconfig.register; import com.xpc.easyes.autoconfig.config.EsConfigProperties; import com.xpc.easyes.core.cache.BaseCache; -import com.xpc.easyes.core.plugin.interceptor.Interceptor; -import com.xpc.easyes.core.plugin.interceptor.InterceptorChain; -import com.xpc.easyes.core.plugin.interceptor.Intercepts; import com.xpc.easyes.core.proxy.EsMapperProxy; +import com.xpc.easyes.extension.anno.Intercepts; +import com.xpc.easyes.extension.plugins.Interceptor; +import com.xpc.easyes.extension.plugins.InterceptorChain; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-es-core/pom.xml b/easy-es-core/pom.xml index 07e4a66e..bb6eba91 100644 --- a/easy-es-core/pom.xml +++ b/easy-es-core/pom.xml @@ -7,13 +7,13 @@ io.github.xpc1024 easy-es-parent - 0.9.6 + 0.9.7 ../easy-es-parent io.github.xpc1024 easy-es-core - 0.9.6 + 0.9.7 8 diff --git a/easy-es-extension/pom.xml b/easy-es-extension/pom.xml new file mode 100644 index 00000000..f7638c68 --- /dev/null +++ b/easy-es-extension/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + io.github.xpc1024 + easy-es-parent + 0.9.7 + ../easy-es-parent + + + io.github.xpc1024 + easy-es-extension + 0.9.7 + + + 8 + 8 + + + \ No newline at end of file diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Intercepts.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Intercepts.java similarity index 83% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Intercepts.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Intercepts.java index 4e2c392b..3f6b606e 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Intercepts.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Intercepts.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.anno; import java.lang.annotation.*; diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Signature.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Signature.java similarity index 93% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Signature.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Signature.java index 16c57996..1ed921df 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Signature.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/anno/Signature.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.anno; import java.lang.annotation.Documented; import java.lang.annotation.Retention; diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Interceptor.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Interceptor.java similarity index 87% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Interceptor.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Interceptor.java index 594a6268..a6691235 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Interceptor.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Interceptor.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.plugins; /** *

diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/InterceptorChain.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/InterceptorChain.java similarity index 95% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/InterceptorChain.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/InterceptorChain.java index 6cee95c5..bc55182f 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/InterceptorChain.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/InterceptorChain.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.plugins; import java.util.ArrayList; import java.util.Collections; diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Invocation.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Invocation.java similarity index 94% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Invocation.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Invocation.java index c8e11b21..a21f7e6c 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Invocation.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Invocation.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.plugins; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Plugin.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Plugin.java similarity index 83% rename from easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Plugin.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Plugin.java index d5371d53..e2fda11b 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/plugin/interceptor/Plugin.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/plugins/Plugin.java @@ -1,8 +1,9 @@ -package com.xpc.easyes.core.plugin.interceptor; +package com.xpc.easyes.extension.plugins; -import com.xpc.easyes.core.exception.EasyEsException; -import com.xpc.easyes.core.utils.ExceptionUtil; +import com.xpc.easyes.extension.anno.Intercepts; +import com.xpc.easyes.extension.anno.Signature; +import com.xpc.easyes.extension.utils.ExceptionUtil; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; @@ -35,7 +36,7 @@ public class Plugin implements InvocationHandler { /** * 包装代理 * - * @param t 泛型 + * @param t 泛型 * @param interceptor 拦截器 * @return 泛型 */ @@ -64,7 +65,7 @@ public class Plugin implements InvocationHandler { Intercepts interceptsAnnotation = interceptor.getClass().getAnnotation(Intercepts.class); // 检查类是否被@Intercepts标记 if (interceptsAnnotation == null) { - throw new EasyEsException("No @Intercepts annotation was found in interceptor " + interceptor.getClass().getName()); + throw new RuntimeException("No @Intercepts annotation was found in interceptor " + interceptor.getClass().getName()); } Signature[] sigs = interceptsAnnotation.value(); Map, Set> signatureMap = new HashMap<>(); @@ -75,7 +76,7 @@ public class Plugin implements InvocationHandler { Method method = sig.type().getMethod(sig.method(), sig.args()); methods.add(method); } catch (NoSuchMethodException e) { - throw new EasyEsException("Could not find method on " + sig.type() + " named " + sig.method() + ". Cause: " + e, e); + throw new RuntimeException("Could not find method on " + sig.type() + " named " + sig.method() + ". Cause: " + e, e); } } return signatureMap; diff --git a/easy-es-core/src/main/java/com/xpc/easyes/core/utils/ExceptionUtil.java b/easy-es-extension/src/main/java/com/xpc/easyes/extension/utils/ExceptionUtil.java similarity index 95% rename from easy-es-core/src/main/java/com/xpc/easyes/core/utils/ExceptionUtil.java rename to easy-es-extension/src/main/java/com/xpc/easyes/extension/utils/ExceptionUtil.java index 872ecf3f..1c8f2795 100644 --- a/easy-es-core/src/main/java/com/xpc/easyes/core/utils/ExceptionUtil.java +++ b/easy-es-extension/src/main/java/com/xpc/easyes/extension/utils/ExceptionUtil.java @@ -1,4 +1,4 @@ -package com.xpc.easyes.core.utils; +package com.xpc.easyes.extension.utils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.UndeclaredThrowableException; diff --git a/easy-es-parent/pom.xml b/easy-es-parent/pom.xml index 26ab7013..6aac99d6 100644 --- a/easy-es-parent/pom.xml +++ b/easy-es-parent/pom.xml @@ -6,7 +6,7 @@ io.github.xpc1024 easy-es-parent - 0.9.6 + 0.9.7 easy-es-parent easy use for elastic search @@ -22,6 +22,7 @@ ../easy-es-core ../easy-es-boot-starter + ../easy-es-extension diff --git a/easy-es-sample/pom.xml b/easy-es-sample/pom.xml index 43cae7e6..75a00f1f 100644 --- a/easy-es-sample/pom.xml +++ b/easy-es-sample/pom.xml @@ -9,7 +9,7 @@ easy-es io.github.xpc1024 - 0.9.6 + 0.9.7 @@ -21,7 +21,7 @@ io.github.xpc1024 easy-es-boot-starter - 0.9.6 + 0.9.7 org.springframework.boot diff --git a/easy-es-sample/src/main/java/com/xpc/easyes/sample/EasyEsApplication.java b/easy-es-sample/src/main/java/com/xpc/easyes/sample/EasyEsApplication.java index 22d31e45..d4fae065 100644 --- a/easy-es-sample/src/main/java/com/xpc/easyes/sample/EasyEsApplication.java +++ b/easy-es-sample/src/main/java/com/xpc/easyes/sample/EasyEsApplication.java @@ -1,18 +1,15 @@ package com.xpc.easyes.sample; import com.xpc.easyes.autoconfig.annotation.EsMapperScan; -import org.elasticsearch.client.RestHighLevelClient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; /** * 启动类 *

* Copyright © 2021 xpc1024 All Rights Reserved **/ -@SpringBootApplication(scanBasePackages = {"com.xpc.easyes"}) +@SpringBootApplication @EsMapperScan("com.xpc.easyes.sample.mapper") public class EasyEsApplication { public static void main(String[] args) { diff --git a/easy-es-sample/src/main/java/com/xpc/easyes/sample/entity/GeneralBean.java b/easy-es-sample/src/main/java/com/xpc/easyes/sample/entity/GeneralBean.java index 12c1977c..ac7d0075 100644 --- a/easy-es-sample/src/main/java/com/xpc/easyes/sample/entity/GeneralBean.java +++ b/easy-es-sample/src/main/java/com/xpc/easyes/sample/entity/GeneralBean.java @@ -14,7 +14,7 @@ import lombok.Data; public class GeneralBean { /** - * 删除状态 + * 逻辑删除状态 */ private Boolean existStatus; diff --git a/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/DeleteInterceptor.java b/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/DeleteInterceptor.java index 1601954f..9774e3fd 100644 --- a/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/DeleteInterceptor.java +++ b/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/DeleteInterceptor.java @@ -2,11 +2,10 @@ package com.xpc.easyes.sample.interceptor; import com.xpc.easyes.core.conditions.LambdaEsQueryWrapper; import com.xpc.easyes.core.conditions.interfaces.BaseEsMapper; -import com.xpc.easyes.core.plugin.interceptor.Interceptor; -import com.xpc.easyes.core.plugin.interceptor.Intercepts; -import com.xpc.easyes.core.plugin.interceptor.Invocation; -import com.xpc.easyes.core.plugin.interceptor.Signature; -import com.xpc.easyes.sample.entity.GeneralBean; +import com.xpc.easyes.extension.anno.Intercepts; +import com.xpc.easyes.extension.anno.Signature; +import com.xpc.easyes.extension.plugins.Interceptor; +import com.xpc.easyes.extension.plugins.Invocation; import org.springframework.stereotype.Component; /** @@ -26,12 +25,12 @@ import org.springframework.stereotype.Component; @Component public class DeleteInterceptor implements Interceptor { - @Override - public Object intercept(Invocation invocation) throws Throwable { - // 统一逻辑删除拦截 - System.out.println("啊啊啊,我拦截到了删除,禁止删除"); - // 这里直接改为update - return 0; - } + @Override + public Object intercept(Invocation invocation) throws Throwable { + // 统一逻辑删除拦截 + System.out.println("啊啊啊,我拦截到了删除,禁止直接删除"); + // 这里直接改为update逻辑删除... + return 0; + } } diff --git a/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/QueryInterceptor.java b/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/QueryInterceptor.java index b4be1880..8e587ec6 100644 --- a/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/QueryInterceptor.java +++ b/easy-es-sample/src/main/java/com/xpc/easyes/sample/interceptor/QueryInterceptor.java @@ -2,10 +2,10 @@ package com.xpc.easyes.sample.interceptor; import com.xpc.easyes.core.conditions.LambdaEsQueryWrapper; import com.xpc.easyes.core.conditions.interfaces.BaseEsMapper; -import com.xpc.easyes.core.plugin.interceptor.Interceptor; -import com.xpc.easyes.core.plugin.interceptor.Intercepts; -import com.xpc.easyes.core.plugin.interceptor.Invocation; -import com.xpc.easyes.core.plugin.interceptor.Signature; +import com.xpc.easyes.extension.anno.Intercepts; +import com.xpc.easyes.extension.anno.Signature; +import com.xpc.easyes.extension.plugins.Interceptor; +import com.xpc.easyes.extension.plugins.Invocation; import com.xpc.easyes.sample.entity.GeneralBean; import org.springframework.stereotype.Component; @@ -29,9 +29,9 @@ public class QueryInterceptor implements Interceptor { public Object intercept(Invocation invocation) throws Throwable { System.out.println("啊啊啊,我拦截到了查询,统一增加查询条件"); // 统一逻辑删除拦截 - Object[] args = invocation.getArgs(); - LambdaEsQueryWrapper arg = (LambdaEsQueryWrapper) args[0]; - arg.eq(GeneralBean::getExistStatus, true); +// Object[] args = invocation.getArgs(); +// LambdaEsQueryWrapper arg = (LambdaEsQueryWrapper) args[0]; +// arg.eq(GeneralBean::getExistStatus, true); return invocation.proceed(); } diff --git a/pom.xml b/pom.xml index 73f894d5..63f80b50 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.xpc1024 easy-es - 0.9.6 + 0.9.7 easy-es easy use for elastic search