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