Browse Source

Merge remote-tracking branch 'origin/dev_jzb_lipf_v20260427' into dev_jzb_lipf_v20260427

jiakai 5 months ago
parent
commit
cdc3bfd39d

+ 8 - 17
commons/src/main/java/com/jzg/commons/config/DataPermissionInterceptor.java

@@ -2,7 +2,6 @@ package com.jzg.commons.config;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler;
-import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
 import com.jzg.commons.constants.SystemConstants;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.entity.properties.DataScopeProperties;
@@ -13,30 +12,17 @@ import net.sf.jsqlparser.expression.ExpressionVisitor;
 import net.sf.jsqlparser.parser.CCJSqlParserUtil;
 import net.sf.jsqlparser.parser.SimpleNode;
 import net.sf.jsqlparser.schema.Table;
-import net.sf.jsqlparser.statement.Statement;
-import net.sf.jsqlparser.util.TablesNamesFinder;
 import org.apache.ibatis.executor.Executor;
-import org.apache.ibatis.executor.statement.StatementHandler;
 import org.apache.ibatis.mapping.MappedStatement;
 import org.apache.ibatis.plugin.*;
-import org.apache.ibatis.mapping.BoundSql;
-import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.session.ResultHandler;
 import org.apache.ibatis.session.RowBounds;
-import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.redisson.api.RedissonClient;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Field;
-import java.sql.Connection;
-import java.sql.SQLException;
+import java.io.Serial;
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 /**
  * 数据权限拦截器
@@ -46,7 +32,7 @@ import java.util.regex.Pattern;
         @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}),
 //        @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})
 })
-    public class DataPermissionInterceptor implements MultiDataPermissionHandler {
+public class DataPermissionInterceptor implements MultiDataPermissionHandler {
 
     private List<String> ignoredTables;
 
@@ -111,7 +97,9 @@ import java.util.regex.Pattern;
         JSONObject dataScope = JSONObject.parseObject(userDataScope);
         //如果用户名为admin  不做数据权限
 
-        if (dataScope == null || dataScope.isEmpty() || (dataScope.isEmpty() && baseController.getUserName().equals("admin")) || userSystemCode.equals(SystemConstants.SYSTEM_PLATFORM.getCode())) {
+        if (dataScope == null || dataScope.isEmpty()
+                || (dataScope.isEmpty() && baseController.getUserName().equals("admin"))
+                || userSystemCode.equals(SystemConstants.SYSTEM_PLATFORM.getCode())) {
             return null;
         }
         StringBuilder additionalSql = new StringBuilder();
@@ -143,6 +131,9 @@ import java.util.regex.Pattern;
     }
 
     private static class SqlExpression implements Expression {
+        @Serial
+        private static final long serialVersionUID = -1544668106700399568L;
+
         private final String sql;
 
         public SqlExpression(String sql) {

+ 11 - 2
commons/src/main/java/com/jzg/commons/config/MyBatisPlusConfig.java

@@ -1,6 +1,8 @@
 package com.jzg.commons.config;
 
 
+import cn.hutool.json.JSONNull;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
 import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
@@ -11,7 +13,10 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.entity.properties.DataScopeProperties;
 import com.jzg.commons.entity.properties.TenantProperties;
 import org.redisson.api.RedissonClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -22,12 +27,17 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableConfigurationProperties({TenantProperties.class,DataScopeProperties.class})
 public class MyBatisPlusConfig {
 
+    private static final Logger log = LoggerFactory.getLogger(MyBatisPlusConfig.class);
+
     @Autowired
     RedissonClient redissonClient;
 
     @Autowired
     BaseController baseController;
 
+    @Value("${spring.application.name}")
+    private String appName;
+
 //    @Bean
 //    public DataPermissionInterceptor dataPermissionInterceptor(DataScopeProperties dataScopeProperties){
 //        return new DataPermissionInterceptor(redissonClient,baseController,dataScopeProperties);
@@ -41,8 +51,7 @@ public class MyBatisPlusConfig {
 
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor(TenantProperties tenantProperties,DataScopeProperties dataScopeProperties) {
-
-
+        log.info("构造mybatisplus的拦截器。appName=[{}],dataScopeProperties=[{}]", this.appName, JSONUtil.toJsonStr(dataScopeProperties));
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
         //配置拦截器
         if (Boolean.TRUE.equals(tenantProperties.getEnable())) {

+ 1 - 3
tenant/organization/src/main/resources/application.yml

@@ -103,14 +103,12 @@ tenant:
     - ptl_new_car_judge_rules
     - ptl_new_car_judge_rules
     - t
-
-
   ignoreLoginNames:
 
 data-scope:
   tables:
     - sys_user_jzg_info
-
+    - abc_test
   ignoreFunction:
     - getAuditedOrder
     - getUserInfoList