From a7002e25ec105e5f73c27f91944f1c0b4991c355 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期四, 30 十二月 2021 14:23:41 +0800 Subject: [PATCH] Merge branch 'master' into test --- springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java | 43 ++----------------------------------------- 1 files changed, 2 insertions(+), 41 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java index 391f298..9749d52 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java @@ -3,59 +3,20 @@ import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import org.apache.ibatis.executor.Executor; -import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.mapping.ParameterMapping; -import org.apache.ibatis.plugin.Intercepts; -import org.apache.ibatis.plugin.Signature; import org.apache.ibatis.session.ResultHandler; import org.apache.ibatis.session.RowBounds; import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -@Intercepts({ - @Signature(type = StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class}) -}) public class MybatisHmkInterceptor implements InnerInterceptor { @Override public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException { String sql=boundSql.getSql(); - if(parameter instanceof Long){ - if(sql.contains("community_id = ?")&&(long)parameter==10086){ - sql=sql.replace("community_id = ?","community_id in (?)"); - parameter="30,31"; - boundSql.setAdditionalParameter("communityId",parameter); + if(sql.contains("community_id = 10086")){ + sql=sql.replace("community_id = 10086","community_id in (30,31)"); PluginUtils.mpBoundSql(boundSql).sql(sql); - } - } - if(parameter instanceof Map){ - List<ParameterMapping> parameterMappingList=new ArrayList<>(); - if(sql.contains("community_id = ?")&&((Map<?, ?>) parameter).containsValue(10086L)){ - List<ParameterMapping> parameterMappings=boundSql.getParameterMappings(); - parameterMappings.forEach(parameterMapping -> { - if (parameterMapping.getProperty().equals("communityId")){ - ParameterMapping parameterMapping1=new ParameterMapping.Builder(ms.getConfiguration(),"communityId",Object.class).build(); - parameterMappingList.add(parameterMapping1); - } - else { - parameterMappingList.add(parameterMapping); - } - }); - sql=sql.replace("community_id = ?","community_id in (?)"); - ((Map<?,?>) parameter).replaceAll((k,v)->{ - if(v.toString().equals("10086")){ - boundSql.setAdditionalParameter(k.toString(),"30,31"); - } - return v; - }); - PluginUtils.mpBoundSql(boundSql).parameterMappings(parameterMappingList); - PluginUtils.mpBoundSql(boundSql).sql(sql); - } } InnerInterceptor.super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql); } -- Gitblit v1.7.1