新增租户初始化切面事件
This commit is contained in:
+12
@@ -2,6 +2,8 @@ package cn.iocoder.yudao.framework.tenant.core.context;
|
||||
|
||||
import com.alibaba.ttl.TransmittableThreadLocal;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* 多租户上下文 Holder
|
||||
*
|
||||
@@ -58,6 +60,16 @@ public class TenantContextHolder {
|
||||
return Boolean.TRUE.equals(IGNORE.get());
|
||||
}
|
||||
|
||||
public static <T> T apply(Long tenantId, Supplier<T> func){
|
||||
Long oldTenant = TenantContextHolder.getTenantId();
|
||||
try {
|
||||
TenantContextHolder.setTenantId(tenantId);
|
||||
return func.get();
|
||||
}finally {
|
||||
TenantContextHolder.setTenantId(oldTenant);
|
||||
}
|
||||
}
|
||||
|
||||
public static void clear() {
|
||||
TENANT_ID.remove();
|
||||
IGNORE.remove();
|
||||
|
||||
Reference in New Issue
Block a user