NotTenantPluginHolder.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package jnpf.database.util;
  2. /**
  3. * 不执行多租户切库,字段拼接插件
  4. * @author JNPF开发平台组
  5. * @user N
  6. * @copyright 引迈信息技术有限公司
  7. * @date 2022/10/25 17:16
  8. */
  9. public class NotTenantPluginHolder {
  10. private static final ThreadLocal<Boolean> CONTEXT_NOTSWITCH_HOLDER = ThreadLocal.withInitial(()->Boolean.FALSE);
  11. private static final ThreadLocal<Boolean> CONTEXT_NOTSWITCH_ALWAYS_HOLDER = ThreadLocal.withInitial(()->Boolean.FALSE);
  12. /**
  13. * 只能生效一次查询
  14. */
  15. public static void setNotSwitchFlag(){
  16. CONTEXT_NOTSWITCH_HOLDER.set(Boolean.TRUE);
  17. }
  18. public static Boolean isNotSwitch(){
  19. return CONTEXT_NOTSWITCH_HOLDER.get();
  20. }
  21. public static void clearNotSwitchFlag(){
  22. CONTEXT_NOTSWITCH_HOLDER.remove();
  23. }
  24. /**
  25. * 只能生效一次查询
  26. */
  27. public static void setNotSwitchAlwaysFlag(){
  28. CONTEXT_NOTSWITCH_ALWAYS_HOLDER.set(Boolean.TRUE);
  29. }
  30. public static Boolean isNotSwitchAlways(){
  31. return CONTEXT_NOTSWITCH_ALWAYS_HOLDER.get();
  32. }
  33. public static void clearNotSwitchAlwaysFlag(){
  34. CONTEXT_NOTSWITCH_ALWAYS_HOLDER.remove();
  35. }
  36. }