From 8c24423fed7c85495ef8a73dd8da571d08cbd3ae Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Wed, 04 May 2022 09:52:33 +0800
Subject: [PATCH] fix:修复缓存bug
---
zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java | 3 ++-
zq-erp/src/test/java/com/matrix/LocalCacheTest.java | 6 ++++--
zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java | 4 ++--
zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java | 6 ++++--
zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java | 2 +-
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 5 +++--
zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java | 2 +-
7 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index 1e8fb3b..76fdd77 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.component.tools.HttpCurlUtil;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.*;
@@ -194,7 +195,7 @@
return AjaxResult.buildFailInstance("该手机号不存在");
}
- String codeExist = LocalCache.get(smsCodeDto.getTelphone());
+ String codeExist = LocalCache.get(smsCodeDto.getTelphone(),new TypeReference<String>(){});
if (StringUtils.isNotBlank(codeExist)) {
return AjaxResult.buildFailInstance("请勿重复发送验证码");
}
@@ -215,7 +216,7 @@
return AjaxResult.buildFailInstance("该手机号不存在");
}
- String code = LocalCache.get(pwdResetDto.getTelphone());
+ String code = LocalCache.get(pwdResetDto.getTelphone(),new TypeReference<String>(){});
if (StringUtils.isBlank(code)) {
return AjaxResult.buildFailInstance("验证码已失效,请重新发送");
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java b/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
index d2cb915..153a47d 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
@@ -101,7 +101,7 @@
String redisKey = USER_POWER_REDISKEY_APP + SecureUtil.md5(user.getSuId()+"");
- Map<String, Object> cachePowerMap = LocalCache.get(redisKey);
+ Map<String, Object> cachePowerMap = LocalCache.get(redisKey,new TypeReference<Map<String,Object>>(){});
if (Objects.nonNull(cachePowerMap)) {
userFunction = JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USERFUNCTION)), new TypeReference<Map<String, SysFunction>>(){});
userUrlMapping =JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USER_URL_MAPPING)) , new TypeReference<List<String>>(){});
diff --git a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
index 656e646..de5d17c 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
@@ -155,7 +155,7 @@
SysUsers sysUser = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
String redisKey = USER_POWER_REDISKEY_PC + SecureUtil.md5(sysUser.getSuId() + "");
- Map<String, Object> cachePowerMap = LocalCache.get(redisKey);
+ Map<String, Object> cachePowerMap = LocalCache.get(redisKey,new TypeReference<Map<String,Object>>(){});
if (Objects.nonNull(cachePowerMap)) {
userFunction = JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USERFUNCTION)), new TypeReference<Map<String, SysFunction>>(){});
diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java b/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
index 6e52c98..454d95e 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
@@ -81,7 +81,7 @@
* @param key
* @param <T>
* @return
- */
+ *//*
public static <T> T get(String key) {
CacheValue value = localCache.get(key);
if (Objects.nonNull(value)) {
@@ -89,7 +89,7 @@
}
return null;
}
-
+*/
/**
* 获取本地缓存,如果需要转换为List,Map类型的具体泛型使用本方法
* @param key
diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java b/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
index 4db415f..6c91e95 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
@@ -7,11 +7,13 @@
*/
package com.matrix.system.common.init;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.core.constance.SystemErrorCode;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.UUIDUtil;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -44,7 +46,7 @@
public boolean isUserLogin() {
String token = getUserToken();
if (StringUtils.isNotBlank(token)) {
- return LocalCache.get(token) != null;
+ return LocalCache.get(token,new TypeReference<String>(){}) != null;
} else {
return false;
}
@@ -92,7 +94,7 @@
public <T> T getLoginUser() {
String userToken = getUserToken();
if (userToken != null) {
- T user = LocalCache.get(userToken);
+ T user = LocalCache.get(userToken,new TypeReference<SysUsers>(){});
if (Objects.nonNull(user)) {
//重新设置key过期时间
LocalCache.resetExpire(userToken);
diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
index cb284a7..6f0231d 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
@@ -1,6 +1,7 @@
package com.matrix.system.common.interceptor;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
@@ -61,7 +62,7 @@
return false;
}
- SysUsers sysUsers = LocalCache.get(token);
+ SysUsers sysUsers = LocalCache.get(token,new TypeReference<SysUsers>(){});
if (Objects.isNull(sysUsers)) {
ajaxResult.setInfo("login time out");
response.getWriter().write(new ObjectMapper().writeValueAsString(ajaxResult));
diff --git a/zq-erp/src/test/java/com/matrix/LocalCacheTest.java b/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
index df54f35..b91395a 100644
--- a/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
+++ b/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
@@ -7,6 +7,8 @@
*/
package com.matrix;
+import com.alibaba.fastjson.TypeReference;
+import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.init.LocalCache;
import org.junit.Assert;
import org.junit.Test;
@@ -27,9 +29,9 @@
public void testNoticeTask() throws IOException, InterruptedException {
LocalCache.save("name","jyy",1000*3);
System.out.println("放入对象");
- Assert.assertNotNull(LocalCache.get("name"));
+ Assert.assertNotNull(LocalCache.get("name",new TypeReference<SysUsers>(){}));
Thread.sleep(1000*5);
- Assert.assertNull(LocalCache.get("name"));
+ Assert.assertNull(LocalCache.get("name",new TypeReference<SysUsers>(){}));
}
}
\ No newline at end of file
--
Gitblit v1.9.1