From 3c9d81056b523b22a48f95da29ba31b9b5ee3df5 Mon Sep 17 00:00:00 2001 From: icewint Date: Thu, 26 Feb 2026 16:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E5=A2=9E=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=9D=83=E9=99=90=E4=B8=8D=E7=94=9F=E6=95=88BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/wcs/business/redis/SaTokenRedis.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java b/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java index e5ce6b3..11849fd 100644 --- a/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java +++ b/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java @@ -91,11 +91,17 @@ public class SaTokenRedis { clearPermissionCache(group); return; } - Long size = stringRedisTemplate.opsForList().size(USER_PERMISSION_KEY + ":" + group); - if(size != null && size > 0) { - return; // 如果存在就不添加了,要求必须调用清除方法后在调用这个 + List oldPermissionList = stringRedisTemplate.opsForList().range(USER_PERMISSION_KEY + ":" + group, 0, -1); + if(oldPermissionList == null || oldPermissionList.isEmpty()) { + stringRedisTemplate.opsForList().rightPushAll(USER_PERMISSION_KEY + ":" + group, permissionList); + return; } - stringRedisTemplate.opsForList().rightPushAll(USER_PERMISSION_KEY + ":" + group, permissionList); + for (String permission : permissionList) { + if(!oldPermissionList.contains(permission)) { + stringRedisTemplate.opsForList().rightPush(USER_PERMISSION_KEY + ":" + group, permission); + } + } + return; }