feat: 可以根据表名返回多租户条件。https://gitee.com/mybatis-flex/mybatis-flex/issues/I91Z61

This commit is contained in:
Suomm 2024-03-18 14:44:36 +08:00
parent dac7b3a7bd
commit cd993b01d5
3 changed files with 19 additions and 4 deletions

View File

@ -798,7 +798,7 @@ public class TableInfo {
return null; return null;
} }
return TenantManager.getTenantIds(); return TenantManager.getTenantIds(tableName);
} }
@ -1342,7 +1342,7 @@ public class TableInfo {
} }
MetaObject metaObject = EntityMetaObject.forObject(entityObject, reflectorFactory); MetaObject metaObject = EntityMetaObject.forObject(entityObject, reflectorFactory);
Object[] tenantIds = TenantManager.getTenantIds(); Object[] tenantIds = TenantManager.getTenantIds(tableName);
if (tenantIds == null || tenantIds.length == 0) { if (tenantIds == null || tenantIds.length == 0) {
return; return;
} }

View File

@ -17,6 +17,14 @@ package com.mybatisflex.core.tenant;
public interface TenantFactory { public interface TenantFactory {
/**
* @deprecated 使用 {@link #getTenantIds(String)} 代替
*/
@Deprecated
Object[] getTenantIds(); Object[] getTenantIds();
default Object[] getTenantIds(String tableName) {
return getTenantIds();
}
} }

View File

@ -74,13 +74,20 @@ public class TenantManager {
ignoreFlags.remove(); ignoreFlags.remove();
} }
/**
* @deprecated 使用 {@link #getTenantIds(String)} 代替
*/
@Deprecated
public static Object[] getTenantIds() { public static Object[] getTenantIds() {
return getTenantIds(null);
}
public static Object[] getTenantIds(String tableName) {
Boolean ignoreFlag = ignoreFlags.get(); Boolean ignoreFlag = ignoreFlags.get();
if (ignoreFlag != null && ignoreFlag) { if (ignoreFlag != null && ignoreFlag) {
return null; return null;
} }
return tenantFactory != null ? tenantFactory.getTenantIds() : null; return tenantFactory != null ? tenantFactory.getTenantIds(tableName) : null;
} }