From 8f034485ffb950e9fb9fffd5a89d0e475e138db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Sat, 8 Apr 2023 17:58:07 +0800 Subject: [PATCH] add TenantManager.java --- .../core/tenant/TenantManager.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java index dbf49e6f..17f7d1b3 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java @@ -17,6 +17,8 @@ package com.mybatisflex.core.tenant; public class TenantManager { + private static ThreadLocal ignoreFlags = new ThreadLocal<>(); + private static TenantFactory tenantFactory; public static TenantFactory getTenantFactory() { @@ -27,7 +29,30 @@ public class TenantManager { TenantManager.tenantFactory = tenantFactory; } + + /** + * 忽略 tenant 条件 + */ + public static void ignoreTenantCondition() { + ignoreFlags.set(Boolean.TRUE); + } + + + /** + * 恢复 tenant 条件 + */ + public static void restore() { + ignoreFlags.remove(); + } + + public static Object[] getTenantIds() { + Boolean ignoreFlag = ignoreFlags.get(); + if (ignoreFlag != null && ignoreFlag) { + return null; + } return tenantFactory != null ? tenantFactory.getTenantIds() : null; } + + }