From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 02 七月 2025 16:43:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service

---
 src/main/java/com/lf/server/service/all/PermsService.java |   93 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 74 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/lf/server/service/all/PermsService.java b/src/main/java/com/lf/server/service/all/PermsService.java
index 682ed80..5cb1c97 100644
--- a/src/main/java/com/lf/server/service/all/PermsService.java
+++ b/src/main/java/com/lf/server/service/all/PermsService.java
@@ -1,14 +1,14 @@
 package com.lf.server.service.all;
 
-import com.lf.server.entity.all.MenusAuthEntity;
-import com.lf.server.entity.all.PermsAuthEntity;
-import com.lf.server.entity.all.ResAuthEntity;
-import com.lf.server.helper.StringHelper;
+import com.lf.server.entity.all.*;
+import com.lf.server.entity.sys.MenuEntity;
 import com.lf.server.mapper.all.PermsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 鎺堟潈鏈嶅姟
@@ -16,42 +16,97 @@
  */
 @Service
 public class PermsService implements PermsMapper {
-    @Autowired
+    @Resource
     PermsMapper permsMapper;
+
+    @Resource
+    RedisService redisService;
 
     @Override
     public List<ResAuthEntity> selectRes(String uid) {
-        if (StringHelper.isEmpty(uid)) {
-            return null;
+        String key = RedisCacheKey.permsResKey(uid);
+        Object obj = redisService.get(key);
+        if (obj instanceof List<?>) {
+            return (List<ResAuthEntity>) obj;
         }
 
-        return permsMapper.selectRes(uid);
+        List<ResAuthEntity> list = permsMapper.selectRes(uid);
+        if (list != null && list.size() > 0) {
+            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
+        }
+
+        return list;
     }
 
     @Override
     public List<MenusAuthEntity> selectMenus(String uid) {
-        if (StringHelper.isEmpty(uid)) {
-            return null;
+        String key = RedisCacheKey.permsMenusKey(uid);
+        Object obj = redisService.get(key);
+        if (obj instanceof List<?>) {
+            return (List<MenusAuthEntity>) obj;
         }
 
-        return permsMapper.selectMenus(uid);
+        List<MenusAuthEntity> list = permsMapper.selectMenus(uid);
+        if (list != null && list.size() > 0) {
+            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
+        }
+
+        return list;
     }
 
     @Override
-    public List<PermsAuthEntity> selectPerms(String uid) {
-        if (StringHelper.isEmpty(uid)) {
-            return null;
+    public List<String> selectPerms(String uid) {
+        String key = RedisCacheKey.permsPermsKey(uid);
+        Object obj = redisService.get(key);
+        if (obj instanceof List<?>) {
+            return (List<String>) obj;
         }
 
-        return permsMapper.selectPerms(uid);
+        List<String> list = permsMapper.selectPerms(uid);
+        if (list != null && list.size() > 0) {
+            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
+        }
+
+        return list;
     }
 
     @Override
-    public List<String> selectPerms2(String uid) {
-        if (StringHelper.isEmpty(uid)) {
-            return null;
+    public List<PermsAuthEntity> selectPermsEntity(String uid) {
+        String key = RedisCacheKey.permsPermsEntityKey(uid);
+        Object obj = redisService.get(key);
+        if (obj instanceof List<?>) {
+            return (List<PermsAuthEntity>) obj;
         }
 
-        return permsMapper.selectPerms2(uid);
+        List<PermsAuthEntity> list = permsMapper.selectPermsEntity(uid);
+        if (list != null && list.size() > 0) {
+            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
+        }
+
+        return list;
+    }
+
+    @Override
+    public List<Integer> selectRoles(String uid) {
+        return permsMapper.selectRoles(uid);
+    }
+
+    @Override
+    public List<MenuEntity> selectMenuRecursive(int id, String uid) {
+        return permsMapper.selectMenuRecursive(id, uid);
+    }
+
+    /**
+     * 娓呴櫎鎺堟潈缂撳瓨
+     */
+    public void clearPermsCache() {
+        redisService.clearKeys(RedisCacheKey.permsRootKey());
+    }
+
+    /**
+     * 娓呴櫎鎵�鏈夌紦瀛�
+     */
+    public void clearAllCache() {
+        redisService.clearAll();
     }
 }

--
Gitblit v1.9.3