diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index 35e82c3de2..b68418626a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.util.Collection; @@ -30,6 +31,9 @@ public class RedisUtils { @Autowired private RedisTemplate redisTemplate; + @Autowired + private StringRedisTemplate stringRedisTemplate; + /** * 默认过期时长为24小时,单位:秒 */ @@ -171,4 +175,39 @@ public class RedisUtils { return redisTemplate.opsForList().rightPop(key); } + /** + * 获取String + * @param key + * @param expire + * @return + */ + public String getString(String key, long expire) { + String value = stringRedisTemplate.opsForValue().get(key); + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + return value; + } + + public String getString(String key) { + return getString(key, DEFAULT_EXPIRE); + } + + /** + * 存储String + * @param key + * @param value + * @param expire + */ + public void setString(String key, String value, long expire) { + stringRedisTemplate.opsForValue().set(key, value); + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + } + + public void setString(String key, String value) { + setString(key, value, DEFAULT_EXPIRE); + } + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java index f539f8e369..d8e324fb27 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/RoleOpeScopeRedis.java @@ -1,5 +1,7 @@ package com.epmet.redis; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.dto.result.RoleOpeScopeResultDTO; @@ -36,7 +38,7 @@ public class RoleOpeScopeRedis { */ public void setRoleAllOpeScopes(String roleId, List scopes) { String roleAllOpeScopesKey = RedisKeys.getRoleAllOpeScopesKey(roleId); - redisUtils.set(roleAllOpeScopesKey, scopes); + redisUtils.setString(roleAllOpeScopesKey, JSON.toJSONString(scopes)); } /** @@ -57,8 +59,8 @@ public class RoleOpeScopeRedis { */ public List getRoleAllOpeScopes(String roleId) { String roleOpeScopesKey = RedisKeys.getRoleAllOpeScopesKey(roleId); - Object o = redisUtils.get(roleOpeScopesKey); - return (List)o; + String stringValue = redisUtils.getString(roleOpeScopesKey); + return JSON.parseObject(stringValue, new TypeReference>(){}); } }