From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- 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