101captain
2021-12-29 2c1bd1be377c4f525bde077511b89cd38d122d96
12/29  河门口大屏特殊修改
2个文件已添加
2个文件已修改
128 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisPlusConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisHmkInterceptor.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisPlusConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java
New file
@@ -0,0 +1,63 @@
package com.panzhihua.service_grid.config;
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);
                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);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisPlusConfig.java
@@ -26,6 +26,7 @@
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        interceptor.addInnerInterceptor(new MybatisHmkInterceptor());
        return interceptor;
    }
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisHmkInterceptor.java
New file
@@ -0,0 +1,63 @@
package com.panzhihua.service_dangjian.config;
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);
                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);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisPlusConfig.java
@@ -24,6 +24,7 @@
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        interceptor.addInnerInterceptor(new MybatisHmkInterceptor());
        return interceptor;
    }