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