From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 20 五月 2025 23:48:08 +0800 Subject: [PATCH] 修改文件上传类型限制 --- springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/config/MybatisHmkInterceptor.java | 67 +-------------------------------- 1 files changed, 2 insertions(+), 65 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 afcc6e8..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 @@ -5,81 +5,18 @@ import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.mapping.ParameterMapping; import org.apache.ibatis.session.ResultHandler; import org.apache.ibatis.session.RowBounds; -import java.lang.reflect.Field; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; 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){ - 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