|
@@ -6,8 +6,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.ssssssss.magicapi.core.config.MagicModule;
|
|
|
import org.ssssssss.script.functions.DynamicMethod;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* redis模块
|
|
@@ -40,13 +39,13 @@ public class RedisModule implements MagicModule, DynamicMethod {
|
|
|
/**
|
|
|
* 反序列化
|
|
|
*/
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
private Object deserialize(Object value) {
|
|
|
if (value != null) {
|
|
|
if (value instanceof byte[]) {
|
|
|
return this.redisTemplate.getStringSerializer().deserialize((byte[]) value);
|
|
|
}
|
|
|
if (value instanceof List) {
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
List<Object> valueList = (List<Object>) value;
|
|
|
List<Object> resultList = new ArrayList<>(valueList.size());
|
|
|
for (Object val : valueList) {
|
|
@@ -54,6 +53,12 @@ public class RedisModule implements MagicModule, DynamicMethod {
|
|
|
}
|
|
|
return resultList;
|
|
|
}
|
|
|
+ if(value instanceof Map){
|
|
|
+ Map<Object, Object> map = (Map<Object, Object>) value;
|
|
|
+ LinkedHashMap<Object, Object> newMap = new LinkedHashMap<>(map.size());
|
|
|
+ map.forEach((key, val) -> newMap.put(deserialize(key), deserialize(val)));
|
|
|
+ return newMap;
|
|
|
+ }
|
|
|
}
|
|
|
return value;
|
|
|
}
|