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

View File

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

View File

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