Commit 70cbb82c84182c8398889984f15998a2e5c8eef8

Authored by YunaiV
1 parent 112f63bb

reactor:@TenantIgnore 添加在 DO 实体类上,该表自动忽略租户

Showing 26 changed files with 96 additions and 55 deletions
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/aop/TenantIgnore.java
... ... @@ -13,10 +13,11 @@ import java.lang.annotation.*;
13 13 *
14 14 * 特殊:
15 15 * 1、如果添加到 Controller 类上,则该 URL 自动添加到 {@link TenantProperties#getIgnoreUrls()} 中
  16 + * 2、如果添加到 DO 实体类上,则它对应的表名“相当于”自动添加到 {@link TenantProperties#getIgnoreTables()} 中
16 17 *
17 18 * @author 芋道源码
18 19 */
19   -@Target({ElementType.METHOD})
  20 +@Target({ElementType.METHOD, ElementType.TYPE})
20 21 @Retention(RetentionPolicy.RUNTIME)
21 22 @Inherited
22 23 public @interface TenantIgnore {
... ...
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.java
1 1 package cn.iocoder.yudao.framework.tenant.core.db;
2 2  
3   -import cn.hutool.core.collection.CollUtil;
4 3 import cn.iocoder.yudao.framework.tenant.config.TenantProperties;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 5 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
  6 +import com.baomidou.mybatisplus.core.metadata.TableInfo;
  7 +import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
6 8 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
7 9 import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils;
8 10 import net.sf.jsqlparser.expression.Expression;
9 11 import net.sf.jsqlparser.expression.LongValue;
10 12  
11   -import java.util.HashSet;
12   -import java.util.Set;
  13 +import java.util.HashMap;
  14 +import java.util.Map;
13 15  
14 16 /**
15 17 * 基于 MyBatis Plus 多租户的功能,实现 DB 层面的多租户的功能
... ... @@ -18,16 +20,21 @@ import java.util.Set;
18 20 */
19 21 public class TenantDatabaseInterceptor implements TenantLineHandler {
20 22  
21   - private final Set<String> ignoreTables = new HashSet<>();
  23 + /**
  24 + * 忽略的表
  25 + *
  26 + * KEY:表名
  27 + * VALUE:是否忽略
  28 + */
  29 + private final Map<String, Boolean> ignoreTables = new HashMap<>();
22 30  
23 31 public TenantDatabaseInterceptor(TenantProperties properties) {
24 32 // 不同 DB 下,大小写的习惯不同,所以需要都添加进去
25 33 properties.getIgnoreTables().forEach(table -> {
26   - ignoreTables.add(table.toLowerCase());
27   - ignoreTables.add(table.toUpperCase());
  34 + addIgnoreTable(table, true);
28 35 });
29 36 // 在 OracleKeyGenerator 中,生成主键时,会查询这个表,查询这个表后,会自动拼接 TENANT_ID 导致报错
30   - ignoreTables.add("DUAL");
  37 + addIgnoreTable("DUAL", true);
31 38 }
32 39  
33 40 @Override
... ... @@ -37,8 +44,40 @@ public class TenantDatabaseInterceptor implements TenantLineHandler {
37 44  
38 45 @Override
39 46 public boolean ignoreTable(String tableName) {
40   - return TenantContextHolder.isIgnore() // 情况一,全局忽略多租户
41   - || CollUtil.contains(ignoreTables, SqlParserUtils.removeWrapperSymbol(tableName)); // 情况二,忽略多租户的表
  47 + // 情况一,全局忽略多租户
  48 + if (TenantContextHolder.isIgnore()) {
  49 + return true;
  50 + }
  51 + // 情况二,忽略多租户的表
  52 + tableName = SqlParserUtils.removeWrapperSymbol(tableName);
  53 + Boolean ignore = ignoreTables.get(tableName.toLowerCase());
  54 + if (ignore == null) {
  55 + ignore = computeIgnoreTable(tableName);
  56 + synchronized (ignoreTables) {
  57 + addIgnoreTable(tableName, ignore);
  58 + }
  59 + }
  60 + return ignore;
  61 + }
  62 +
  63 + private void addIgnoreTable(String tableName, boolean ignore) {
  64 + ignoreTables.put(tableName.toLowerCase(), ignore);
  65 + ignoreTables.put(tableName.toUpperCase(), ignore);
  66 + }
  67 +
  68 + private boolean computeIgnoreTable(String tableName) {
  69 + // 找不到的表,说明不是 yudao 项目里的,不进行拦截
  70 + TableInfo tableInfo = TableInfoHelper.getTableInfo(tableName);
  71 + if (tableInfo == null) {
  72 + return true;
  73 + }
  74 + // 如果继承了 TenantBaseDO 基类,显然不忽略租户
  75 + if (TenantBaseDO.class.isAssignableFrom(tableInfo.getEntityType())) {
  76 + return true;
  77 + }
  78 + // 如果添加了 @TenantIgnore 注解,显然也不忽略租户
  79 + TenantIgnore tenantIgnore = tableInfo.getEntityType().getAnnotation(TenantIgnore.class);
  80 + return tenantIgnore != null;
42 81 }
43 82  
44 83 }
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum;
5 6 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
... ... @@ -21,6 +22,7 @@ import lombok.experimental.Accessors;
21 22 @Data
22 23 @Accessors(chain = true)
23 24 @EqualsAndHashCode(callSuper = true)
  25 +@TenantIgnore
24 26 public class CodegenColumnDO extends BaseDO {
25 27  
26 28 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import cn.iocoder.yudao.module.infra.dal.dataobject.db.DataSourceConfigDO;
5 6 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenFrontTypeEnum;
6 7 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
... ... @@ -23,6 +24,7 @@ import lombok.experimental.Accessors;
23 24 @Data
24 25 @Accessors(chain = true)
25 26 @EqualsAndHashCode(callSuper = true)
  27 +@TenantIgnore
26 28 public class CodegenTableDO extends BaseDO {
27 29  
28 30 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/config/ConfigDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.config;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import cn.iocoder.yudao.module.infra.enums.config.ConfigTypeEnum;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -19,6 +20,7 @@ import lombok.ToString;
19 20 @Data
20 21 @EqualsAndHashCode(callSuper = true)
21 22 @ToString(callSuper = true)
  23 +@TenantIgnore
22 24 public class ConfigDO extends BaseDO {
23 25  
24 26 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/db/DataSourceConfigDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.db;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.framework.mybatis.core.type.EncryptTypeHandler;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableField;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -15,6 +16,7 @@ import lombok.Data;
15 16 @TableName(value = "infra_data_source_config", autoResultMap = true)
16 17 @KeySequence("infra_data_source_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
17 18 @Data
  19 +@TenantIgnore
18 20 public class DataSourceConfigDO extends BaseDO {
19 21  
20 22 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileConfigDO.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.file;
3 3 import cn.hutool.core.util.StrUtil;
4 4 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
5 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  6 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
6 7 import cn.iocoder.yudao.module.infra.framework.file.core.client.FileClientConfig;
7 8 import cn.iocoder.yudao.module.infra.framework.file.core.client.db.DBFileClientConfig;
8 9 import cn.iocoder.yudao.module.infra.framework.file.core.client.ftp.FtpFileClientConfig;
... ... @@ -32,6 +33,7 @@ import java.lang.reflect.Field;
32 33 @Builder
33 34 @NoArgsConstructor
34 35 @AllArgsConstructor
  36 +@TenantIgnore
35 37 public class FileConfigDO extends BaseDO {
36 38  
37 39 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileContentDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.file;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import cn.iocoder.yudao.module.infra.framework.file.core.client.db.DBFileClient;
5   -import com.baomidou.mybatisplus.annotation.IdType;
6 6 import com.baomidou.mybatisplus.annotation.KeySequence;
7 7 import com.baomidou.mybatisplus.annotation.TableId;
8 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -23,6 +23,7 @@ import lombok.*;
23 23 @Builder
24 24 @NoArgsConstructor
25 25 @AllArgsConstructor
  26 +@TenantIgnore
26 27 public class FileContentDO extends BaseDO {
27 28  
28 29 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.file;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import com.baomidou.mybatisplus.annotation.KeySequence;
5 6 import com.baomidou.mybatisplus.annotation.TableName;
6 7 import lombok.*;
... ... @@ -19,6 +20,7 @@ import lombok.*;
19 20 @Builder
20 21 @NoArgsConstructor
21 22 @AllArgsConstructor
  23 +@TenantIgnore
22 24 public class FileDO extends BaseDO {
23 25  
24 26 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobDO.java
1 1 package cn.iocoder.yudao.module.infra.dal.dataobject.job;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import cn.iocoder.yudao.module.infra.enums.job.JobStatusEnum;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -20,6 +21,7 @@ import lombok.*;
20 21 @Builder
21 22 @NoArgsConstructor
22 23 @AllArgsConstructor
  24 +@TenantIgnore
23 25 public class JobDO extends BaseDO {
24 26  
25 27 /**
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobLogDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.job;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.infra.enums.job.JobLogStatusEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -22,6 +23,7 @@ import java.time.LocalDateTime;
22 23 @Builder
23 24 @NoArgsConstructor
24 25 @AllArgsConstructor
  26 +@TenantIgnore
25 27 public class JobLogDO extends BaseDO {
26 28  
27 29 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictDataDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.dict;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.*;
6 7 import lombok.Data;
7 8 import lombok.EqualsAndHashCode;
... ... @@ -15,6 +16,7 @@ import lombok.EqualsAndHashCode;
15 16 @KeySequence("system_dict_data_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
16 17 @Data
17 18 @EqualsAndHashCode(callSuper = true)
  19 +@TenantIgnore
18 20 public class DictDataDO extends BaseDO {
19 21  
20 22 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictTypeDO.java
... ... @@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.system.dal.dataobject.dict;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6   -import com.baomidou.mybatisplus.annotation.TableField;
7 7 import com.baomidou.mybatisplus.annotation.TableId;
8 8 import com.baomidou.mybatisplus.annotation.TableName;
9 9 import lombok.*;
... ... @@ -23,6 +23,7 @@ import java.time.LocalDateTime;
23 23 @Builder
24 24 @NoArgsConstructor
25 25 @AllArgsConstructor
  26 +@TenantIgnore
26 27 public class DictTypeDO extends BaseDO {
27 28  
28 29 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.java
1 1 package cn.iocoder.yudao.module.system.dal.dataobject.mail;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import com.baomidou.mybatisplus.annotation.KeySequence;
5 6 import com.baomidou.mybatisplus.annotation.TableId;
6 7 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -19,6 +20,7 @@ import lombok.EqualsAndHashCode;
19 20 @KeySequence("system_mail_account_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
20 21 @Data
21 22 @EqualsAndHashCode(callSuper = true)
  23 +@TenantIgnore
22 24 public class MailAccountDO extends BaseDO {
23 25  
24 26 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.mail;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.enums.mail.MailSendStatusEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableField;
... ... @@ -28,6 +29,7 @@ import java.util.Map;
28 29 @Builder
29 30 @AllArgsConstructor
30 31 @NoArgsConstructor
  32 +@TenantIgnore
31 33 public class MailLogDO extends BaseDO implements Serializable {
32 34  
33 35 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailTemplateDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.mail;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableField;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -21,6 +22,7 @@ import java.util.List;
21 22 @KeySequence("system_mail_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
22 23 @Data
23 24 @EqualsAndHashCode(callSuper = true)
  25 +@TenantIgnore
24 26 public class MailTemplateDO extends BaseDO {
25 27  
26 28 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyTemplateDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.notify;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableField;
7 8 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -24,6 +25,7 @@ import java.util.List;
24 25 @Builder
25 26 @NoArgsConstructor
26 27 @AllArgsConstructor
  28 +@TenantIgnore
27 29 public class NotifyTemplateDO extends BaseDO {
28 30  
29 31 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ClientDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.oauth2;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.enums.oauth2.OAuth2GrantTypeEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableField;
... ... @@ -22,6 +23,7 @@ import java.util.List;
22 23 @KeySequence("system_oauth2_client_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
23 24 @Data
24 25 @EqualsAndHashCode(callSuper = true)
  26 +@TenantIgnore
25 27 public class OAuth2ClientDO extends BaseDO {
26 28  
27 29 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.permission;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -18,6 +19,7 @@ import lombok.EqualsAndHashCode;
18 19 @KeySequence("system_menu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
19 20 @Data
20 21 @EqualsAndHashCode(callSuper = true)
  22 +@TenantIgnore
21 23 public class MenuDO extends BaseDO {
22 24  
23 25 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsChannelDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.sms;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.framework.sms.core.enums.SmsChannelEnum;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -20,6 +21,7 @@ import lombok.ToString;
20 21 @Data
21 22 @EqualsAndHashCode(callSuper = true)
22 23 @ToString(callSuper = true)
  24 +@TenantIgnore
23 25 public class SmsChannelDO extends BaseDO {
24 26  
25 27 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO.java
1 1 package cn.iocoder.yudao.module.system.dal.dataobject.sms;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
4 5 import com.baomidou.mybatisplus.annotation.KeySequence;
5 6 import com.baomidou.mybatisplus.annotation.TableName;
6 7 import lombok.*;
... ... @@ -21,6 +22,7 @@ import java.time.LocalDateTime;
21 22 @Builder
22 23 @NoArgsConstructor
23 24 @AllArgsConstructor
  25 +@TenantIgnore
24 26 public class SmsCodeDO extends BaseDO {
25 27  
26 28 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.sms;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.enums.sms.SmsReceiveStatusEnum;
6 7 import cn.iocoder.yudao.module.system.enums.sms.SmsSendStatusEnum;
7 8 import com.baomidou.mybatisplus.annotation.KeySequence;
... ... @@ -27,6 +28,7 @@ import java.util.Map;
27 28 @Builder
28 29 @AllArgsConstructor
29 30 @NoArgsConstructor
  31 +@TenantIgnore
30 32 public class SmsLogDO extends BaseDO {
31 33  
32 34 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsTemplateDO.java
1 1 package cn.iocoder.yudao.module.system.dal.dataobject.sms;
2 2  
  3 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
3 4 import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum;
4 5 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
5 6 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
... ... @@ -24,6 +25,7 @@ import java.util.List;
24 25 @Data
25 26 @EqualsAndHashCode(callSuper = true)
26 27 @ToString(callSuper = true)
  28 +@TenantIgnore
27 29 public class SmsTemplateDO extends BaseDO {
28 30  
29 31 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.tenant;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
6 7 import com.baomidou.mybatisplus.annotation.KeySequence;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -22,6 +23,7 @@ import java.time.LocalDateTime;
22 23 @Builder
23 24 @AllArgsConstructor
24 25 @NoArgsConstructor
  26 +@TenantIgnore
25 27 public class TenantDO extends BaseDO {
26 28  
27 29 /**
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantPackageDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.tenant;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableField;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -23,6 +24,7 @@ import java.util.Set;
23 24 @Builder
24 25 @AllArgsConstructor
25 26 @NoArgsConstructor
  27 +@TenantIgnore
26 28 public class TenantPackageDO extends BaseDO {
27 29  
28 30 /**
... ...
yudao-server/src/main/resources/application.yaml
... ... @@ -275,49 +275,6 @@ yudao:
275 275 ignore-urls:
276 276 - /jmreport/* # 积木报表,无法携带租户编号
277 277 ignore-tables:
278   - - system_tenant
279   - - system_tenant_package
280   - - system_dict_data
281   - - system_dict_type
282   - - system_error_code
283   - - system_menu
284   - - system_sms_channel
285   - - system_sms_template
286   - - system_sms_log
287   - - system_sensitive_word
288   - - system_oauth2_client
289   - - system_mail_account
290   - - system_mail_template
291   - - system_mail_log
292   - - system_notify_template
293   - - infra_codegen_column
294   - - infra_codegen_table
295   - - infra_config
296   - - infra_file_config
297   - - infra_file
298   - - infra_file_content
299   - - infra_job
300   - - infra_job_log
301   - - infra_job_log
302   - - iot_plugin_info
303   - - iot_plugin_instance
304   - - infra_data_source_config
305   - - jimu_dict
306   - - jimu_dict_item
307   - - jimu_report
308   - - jimu_report_data_source
309   - - jimu_report_db
310   - - jimu_report_db_field
311   - - jimu_report_db_param
312   - - jimu_report_link
313   - - jimu_report_map
314   - - jimu_report_share
315   - - rep_demo_dxtj
316   - - rep_demo_employee
317   - - rep_demo_gongsi
318   - - rep_demo_jianpiao
319   - - tmp_report_data_1
320   - - tmp_report_data_income
321 278 ignore-caches:
322 279 - user_role_ids
323 280 - permission_menu_ids
... ...