From 51877df13075ad10ef51107f15bcd21f1661febe Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 17 三月 2026 09:48:01 +0800
Subject: [PATCH] #AI

---
 rsf-server/src/main/java/com/vincent/rsf/server/system/controller/BaseController.java |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/BaseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/BaseController.java
index ed14ec0..abd9cef 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/BaseController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/BaseController.java
@@ -5,6 +5,7 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.system.entity.User;
 import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.context.SecurityContextHolder;
 
 import java.util.List;
@@ -16,7 +17,6 @@
  */
 
 public class BaseController {
-
     public User getLoginUser() {
         try {
             Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
@@ -42,6 +42,26 @@
         return loginUser == null ? null : loginUser.getTenantId();
     }
 
+    public boolean hasAuthority(String authority) {
+        if (authority == null || authority.trim().isEmpty()) {
+            return false;
+        }
+        try {
+            Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+            if (authentication == null || authentication.getAuthorities() == null) {
+                return false;
+            }
+            for (GrantedAuthority grantedAuthority : authentication.getAuthorities()) {
+                if (grantedAuthority != null && authority.equals(grantedAuthority.getAuthority())) {
+                    return true;
+                }
+            }
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+        return false;
+    }
+
     public <T extends BaseParam> T buildParam(Map<String, Object> map, Class<T> clz) {
         if (!Objects.isNull(map.get("meta"))) {
             Map<String, Object> meta = (Map<String, Object>) map.get("meta");
@@ -49,6 +69,14 @@
                 map.put(key, meta.get(key));
             });
             map.remove("meta");
+        }
+        // 绉婚櫎绛涢�夋潯浠堕噷闈㈢殑 $
+        for (String key : map.keySet()) {
+            Object value = map.get(key);
+            if (key.equals("orderBy")) {
+                String newValue = value.toString().replace("$", "");
+                map.replace("orderBy", value, newValue);
+            }
         }
         T t  = null;
         try {
@@ -78,3 +106,4 @@
     }
 
 }
+

--
Gitblit v1.9.1