From 01ac140d02411e68c15d59babb6e775fe4de2609 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 29 四月 2022 17:43:31 +0800
Subject: [PATCH] 花城E+防疫修改
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java | 72 +----------------------------------
1 files changed, 3 insertions(+), 69 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java
index a359f5e..4a582f9 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java
@@ -1,26 +1,18 @@
package com.panzhihua.service_community.config;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.*;
-import org.apache.ibatis.reflection.DefaultReflectorFactory;
-import org.apache.ibatis.reflection.MetaObject;
-import org.apache.ibatis.reflection.SystemMetaObject;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
-import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.sql.SQLException;
-import java.sql.Statement;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -28,67 +20,9 @@
@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){
- if(sql.contains("community_id = ?")){
- List<ParameterMapping> parameterMappingList=new ArrayList<>();
- if(((Map<?, ?>) parameter).containsValue(10086L)){
- List<ParameterMapping> parameterMappings=boundSql.getParameterMappings();
- parameterMappings.forEach(parameterMapping -> {
- if (parameterMapping.getProperty().equals("communityId")){
- ParameterMapping parameterMapping1=new ParameterMapping.Builder(ms.getConfiguration(),parameterMapping.getProperty(),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().contains("10086")){
- boundSql.setAdditionalParameter(k.toString(),"30,31");
- }
- return v;
- });
- PluginUtils.mpBoundSql(boundSql).parameterMappings(parameterMappingList);
- PluginUtils.mpBoundSql(boundSql).sql(sql);
- }
- else{
- if(((Map<?, ?>) parameter).containsKey("arg0")){
- Map<?, ?> param= (Map<?, ?>) boundSql.getAdditionalParameter("_parameter");
- String finalSql = sql;
- param.forEach((k, v)->{
- try {
- Field field= v.getClass().getDeclaredField("communityId");
- if(field!=null){
- field.setAccessible(true);
- if((long)field.get(v)==10086L){
- String sql1= finalSql.replace("community_id = ?","community_id in (30,31)");
- boundSql.getParameterMappings().forEach(parameterMapping -> {
- if(!parameterMapping.getProperty().contains("communityId")){
- parameterMappingList.add(parameterMapping);
- }
- });
- PluginUtils.mpBoundSql(boundSql).parameterMappings(parameterMappingList);
- PluginUtils.mpBoundSql(boundSql).sql(sql1);
- }
- }
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
-
- }
- });
- }
- }
- }
}
InnerInterceptor.super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql);
}
--
Gitblit v1.7.1