From d55278560d29562b341aafa1652209a8aae0af33 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 30 四月 2026 17:08:16 +0800
Subject: [PATCH] 计量器具台账附件修改

---
 src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java b/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
index 7f87262..e2626bd 100644
--- a/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
+++ b/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
@@ -1,10 +1,6 @@
 package com.ruoyi.framework.config.properties;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.regex.Pattern;
+import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
 import org.apache.commons.lang3.RegExUtils;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.InitializingBean;
@@ -15,7 +11,9 @@
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
 import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
-import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
+
+import java.util.*;
+import java.util.regex.Pattern;
 
 /**
  * 璁剧疆Anonymous娉ㄨВ鍏佽鍖垮悕璁块棶鐨剈rl
@@ -39,18 +37,36 @@
         RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
         Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods();
 
+//        map.keySet().forEach(info -> {
+//            HandlerMethod handlerMethod = map.get(info);
+//
+//            // 鑾峰彇鏂规硶涓婅竟鐨勬敞瑙� 鏇夸唬path variable 涓� *
+//            Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
+//            Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
+//                    .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+//
+//            // 鑾峰彇绫讳笂杈圭殑娉ㄨВ, 鏇夸唬path variable 涓� *
+//            Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class);
+//            Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
+//                    .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+//        });
+
         map.keySet().forEach(info -> {
             HandlerMethod handlerMethod = map.get(info);
+            // 鑾峰彇鏂规硶涓婄殑鍖垮悕璁块棶娉ㄨВ
+            Anonymous anonymous = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
+            if (Objects.nonNull(anonymous)) {
+                // 閲嶇偣锛歋pring Boot 3 鍏煎鎬у啓娉�
+                Set<String> patterns = new HashSet<>();
+                if (info.getPatternsCondition() != null) {
+                    patterns.addAll(info.getPatternsCondition().getPatterns());
+                }
+                if (info.getPathPatternsCondition() != null) {
+                    patterns.addAll(info.getPathPatternsCondition().getPatternValues());
+                }
 
-            // 鑾峰彇鏂规硶涓婅竟鐨勬敞瑙� 鏇夸唬path variable 涓� *
-            Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
-            Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
-                    .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
-
-            // 鑾峰彇绫讳笂杈圭殑娉ㄨВ, 鏇夸唬path variable 涓� *
-            Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class);
-            Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
-                    .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+                patterns.forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, "*")));
+            }
         });
     }
 

--
Gitblit v1.9.3