LogicDeleteHelper.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package jnpf.database.util;
  2. /**
  3. * 调用setIsIgnoreLogicDelete 设置后续Mapper查询忽略字段多租户
  4. * 调用setDeleteAction 表示当前是删除操作
  5. *
  6. * @author JNPF开发平台组
  7. * @user N
  8. * @copyright 引迈信息技术有限公司
  9. * @date 2022/10/14 17:12
  10. */
  11. public class LogicDeleteHelper {
  12. private static final ThreadLocal<Boolean> ISIGNORELOGICDELETE_HOLDER = new ThreadLocal<>();
  13. private static final ThreadLocal<Boolean> ISDELETEACTION_HOLDER = new ThreadLocal<>();
  14. public static boolean isIgnoreLogicDelete(){
  15. return Boolean.TRUE.equals(ISIGNORELOGICDELETE_HOLDER.get());
  16. }
  17. public static void setIgnoreLogicDelete(){
  18. ISIGNORELOGICDELETE_HOLDER.set(true);
  19. }
  20. public static void clearIgnoreLogicDelete(){
  21. ISIGNORELOGICDELETE_HOLDER.remove();
  22. }
  23. public static boolean isDeleteAction(){
  24. return Boolean.TRUE.equals(ISDELETEACTION_HOLDER.get());
  25. }
  26. public static void setDeleteAction(){
  27. ISDELETEACTION_HOLDER.set(true);
  28. }
  29. public static void clearDeleteAction(){
  30. ISDELETEACTION_HOLDER.remove();
  31. }
  32. public static boolean isMybatisPlusMethod(String msId){
  33. return msId.startsWith("com.baomidou.mybatisplus.core.injector.methods") || msId.startsWith("com.github.yulichang.method.mp");
  34. }
  35. }