新增租户初始化切面事件

This commit is contained in:
2022-08-29 19:13:24 +08:00
parent 4686861ad2
commit 49c3e34b23
14 changed files with 156 additions and 562 deletions
@@ -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();