Pārlūkot izejas kodu

业务表数据过滤

user5 2 gadi atpakaļ
vecāks
revīzija
51209039a4

+ 47 - 0
jeeplus-common/jeeplus-common-mybatis-plus/src/main/java/com/jeeplus/config/TenantLineHandlerImpl.java

@@ -2,11 +2,18 @@ package com.jeeplus.config;
 
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
+import com.jeeplus.common.TokenProvider;
 import com.jeeplus.common.constant.CommonConstants;
+import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.ITenantApi;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.RoleDTO;
+import com.jeeplus.sys.service.dto.UserDTO;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.expression.StringValue;
 
+import java.util.List;
+
 /**
  * 租户拦截器
  */
@@ -36,12 +43,44 @@ public class TenantLineHandlerImpl implements TenantLineHandler {
             case "sys_tenant":
             case "sys_language":
             case "plugin_datasource_link":
+
+            case "help":
+            case "my_notice_list":
+            case "position":
+            case "rank":
+            case "sys_cert":
+            case "sys_parameter":
+            case "sys_parameter_value":
+            case "sys_serialnum_tpl":
+            case "testreimbursement":
                 return true;
         }
         // flowable工作流系统表(排除扩展表)采用自身saas方案实现租户模式,在这里做忽略处理
         if ( (tableName.startsWith ( "act_" ) || tableName.startsWith ( "ACT_" )) ) {
             return true;
         }
+        // 业务表 采用自身saas方案实现租户模式,在这里做忽略处理
+        if ( (tableName.startsWith ( "finance_" ))
+                || (tableName.startsWith ( "changes_" ))
+                || (tableName.startsWith ( "cw_" ))
+                || (tableName.startsWith ( "help_" ))
+                || (tableName.startsWith ( "job_" ))
+                || (tableName.startsWith ( "klg_" ))
+                || (tableName.startsWith ( "knowledge_" ))
+                || (tableName.startsWith ( "lucky_" ))
+                || (tableName.startsWith ( "material_" ))
+                || (tableName.startsWith ( "position_" ))
+                || (tableName.startsWith ( "project_" ))
+                || (tableName.startsWith ( "proofread_" ))
+                || (tableName.startsWith ( "rank_" ))
+                || (tableName.startsWith ( "reimbursement_" ))
+                || (tableName.startsWith ( "roster_" ))
+                || (tableName.startsWith ( "sys_user_" ))
+                || (tableName.startsWith ( "work_" ))
+                || (tableName.startsWith ( "zs_reimbursement_" ))
+                || (tableName.startsWith ( "program_" ))) {
+            return true;
+        }
 
         // 如果默认租户是平台租户, 角色,用户等系统表不过滤
         if ( SpringUtil.getBean ( ITenantApi.class ).getCurrentTenantId ( ).equals ( CommonConstants.DEFAULT_TENANT_ID ) ) {
@@ -53,6 +92,14 @@ public class TenantLineHandlerImpl implements TenantLineHandler {
                     return true;
             }
         }
+        // 如果当前租户是综合管理租户, 部门,用户表进行过滤
+        if ( SpringUtil.getBean ( ITenantApi.class ).getCurrentTenantId ( ).equals (CommonConstants.INTEGRATED_MANAGEMENT_TENANT_ID ) ) {
+            switch (tableName) {
+                case "sys_user":
+                case "sys_office":
+                    return true;
+            }
+        }
         return false;
     }
 }