From 6d28072167dbdc00f945a939d0240cea732b83a1 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 07 八月 2024 09:58:11 +0800
Subject: [PATCH] update 优化 临时升级 undertow 版本 解决虚拟线程溢出问题

---
 ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java
index 32e1bca..2afe9ee 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java
@@ -10,6 +10,7 @@
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.function.Supplier;
 
 /**
  * 鏁版嵁鏉冮檺鍔╂墜
@@ -23,17 +24,35 @@
 
     private static final String DATA_PERMISSION_KEY = "data:permission";
 
+    /**
+     * 浠庝笂涓嬫枃涓幏鍙栨寚瀹氶敭鐨勫彉閲忓�硷紝骞跺皢鍏惰浆鎹负鎸囧畾鐨勭被鍨�
+     *
+     * @param key 鍙橀噺鐨勯敭
+     * @param <T> 鍙橀噺鍊肩殑绫诲瀷
+     * @return 鎸囧畾閿殑鍙橀噺鍊硷紝濡傛灉涓嶅瓨鍦ㄥ垯杩斿洖 null
+     */
     public static <T> T getVariable(String key) {
         Map<String, Object> context = getContext();
         return (T) context.get(key);
     }
 
-
+    /**
+     * 鍚戜笂涓嬫枃涓缃寚瀹氶敭鐨勫彉閲忓��
+     *
+     * @param key   瑕佽缃殑鍙橀噺鐨勯敭
+     * @param value 瑕佽缃殑鍙橀噺鍊�
+     */
     public static void setVariable(String key, Object value) {
         Map<String, Object> context = getContext();
         context.put(key, value);
     }
 
+    /**
+     * 鑾峰彇鏁版嵁鏉冮檺涓婁笅鏂�
+     *
+     * @return 瀛樺偍鍦⊿aStorage涓殑Map瀵硅薄锛岀敤浜庡瓨鍌ㄦ暟鎹潈闄愮浉鍏崇殑涓婁笅鏂囦俊鎭�
+     * @throws NullPointerException 濡傛灉鏁版嵁鏉冮檺涓婁笅鏂囩被鍨嬪紓甯革紝鍒欐姏鍑篘ullPointerException
+     */
     public static Map<String, Object> getContext() {
         SaStorage saStorage = SaHolder.getStorage();
         Object attribute = saStorage.get(DATA_PERMISSION_KEY);
@@ -61,4 +80,34 @@
         InterceptorIgnoreHelper.clearIgnoreStrategy();
     }
 
+    /**
+     * 鍦ㄥ拷鐣ユ暟鎹潈闄愪腑鎵ц
+     * <p>绂佹鍦ㄥ拷鐣ユ暟鎹潈闄愪腑鎵ц蹇界暐鏁版嵁鏉冮檺</p>
+     *
+     * @param handle 澶勭悊鎵ц鏂规硶
+     */
+    public static void ignore(Runnable handle) {
+        enableIgnore();
+        try {
+            handle.run();
+        } finally {
+            disableIgnore();
+        }
+    }
+
+    /**
+     * 鍦ㄥ拷鐣ユ暟鎹潈闄愪腑鎵ц
+     * <p>绂佹鍦ㄥ拷鐣ユ暟鎹潈闄愪腑鎵ц蹇界暐鏁版嵁鏉冮檺</p>
+     *
+     * @param handle 澶勭悊鎵ц鏂规硶
+     */
+    public static <T> T ignore(Supplier<T> handle) {
+        enableIgnore();
+        try {
+            return handle.get();
+        } finally {
+            disableIgnore();
+        }
+    }
+
 }

--
Gitblit v1.9.3