Explorar el Código

修改redis序列化

xueyiming hace 6 meses
padre
commit
bfbb714edf

+ 14 - 11
api-module/src/main/java/com/tzld/piaoquan/api/service/impl/AccessTokenServiceImpl.java

@@ -40,6 +40,9 @@ public class AccessTokenServiceImpl implements AccessTokenService {
     @Autowired
     @Autowired
     private RedisTemplate<String, Object> redisTemplate;
     private RedisTemplate<String, Object> redisTemplate;
 
 
+    @Autowired
+    private RedisTemplate<String, String> stringRedisTemplate;
+
     @Autowired
     @Autowired
     private CorpMapper corpMapper;
     private CorpMapper corpMapper;
 
 
@@ -84,27 +87,27 @@ public class AccessTokenServiceImpl implements AccessTokenService {
             return CommonResponse.create(ExceptionCodeEnum.PARAMS_ERROR, "secret 不存在");
             return CommonResponse.create(ExceptionCodeEnum.PARAMS_ERROR, "secret 不存在");
         }
         }
         AccessTokenVo accessTokenVo = new AccessTokenVo();
         AccessTokenVo accessTokenVo = new AccessTokenVo();
-        String accessToken = (String) redisTemplate.opsForValue().get(param.getSecret());
+        String accessToken = (String) stringRedisTemplate.opsForValue().get(param.getSecret());
         if (StringUtils.isNotEmpty(accessToken)) {
         if (StringUtils.isNotEmpty(accessToken)) {
-            Long expire = Long.parseLong(String.valueOf(redisTemplate.getExpire(param.getSecret(), TimeUnit.SECONDS)));
+            Long expire = Long.parseLong(String.valueOf(stringRedisTemplate.getExpire(param.getSecret(), TimeUnit.SECONDS)));
             accessTokenVo.setAccessToken(accessToken);
             accessTokenVo.setAccessToken(accessToken);
             accessTokenVo.setExpires(expire);
             accessTokenVo.setExpires(expire);
-            if (redisTemplate.opsForHash().size(ACCESS_TOKEN_LIST) > 20) {
-                Map<Object, Object> entries = redisTemplate.opsForHash().entries(ACCESS_TOKEN_LIST);
+            if (stringRedisTemplate.opsForHash().size(ACCESS_TOKEN_LIST) > 20) {
+                Map<Object, Object> entries = stringRedisTemplate.opsForHash().entries(ACCESS_TOKEN_LIST);
                 entries.forEach((k, v) -> {
                 entries.forEach((k, v) -> {
                     long timestamp = Long.parseLong((String) v);
                     long timestamp = Long.parseLong((String) v);
                     if (System.currentTimeMillis() / 1000 > timestamp) {
                     if (System.currentTimeMillis() / 1000 > timestamp) {
-                        redisTemplate.opsForHash().delete(ACCESS_TOKEN_LIST, k);
+                        stringRedisTemplate.opsForHash().delete(ACCESS_TOKEN_LIST, k);
                     }
                     }
                 });
                 });
             }
             }
         } else {
         } else {
             String newAccessToken = UUID.randomUUID().toString().replace("-", "");
             String newAccessToken = UUID.randomUUID().toString().replace("-", "");
-            redisTemplate.opsForValue().set(param.getSecret(), newAccessToken, 2L, TimeUnit.HOURS);
-            redisTemplate.opsForValue().set(newAccessToken, param.getSecret(), 3L, TimeUnit.HOURS);
+            stringRedisTemplate.opsForValue().set(param.getSecret(), newAccessToken, 2L, TimeUnit.HOURS);
+            stringRedisTemplate.opsForValue().set(newAccessToken, param.getSecret(), 3L, TimeUnit.HOURS);
             long expire = 7200L;
             long expire = 7200L;
             String timestamp = String.valueOf(System.currentTimeMillis() / 1000 + expire + 600);
             String timestamp = String.valueOf(System.currentTimeMillis() / 1000 + expire + 600);
-            redisTemplate.opsForHash().put(ACCESS_TOKEN_LIST, newAccessToken, timestamp);
+            stringRedisTemplate.opsForHash().put(ACCESS_TOKEN_LIST, newAccessToken, timestamp);
             accessTokenVo.setAccessToken(newAccessToken);
             accessTokenVo.setAccessToken(newAccessToken);
             accessTokenVo.setExpires(expire);
             accessTokenVo.setExpires(expire);
         }
         }
@@ -113,13 +116,13 @@ public class AccessTokenServiceImpl implements AccessTokenService {
 
 
     @Override
     @Override
     public boolean validateAccessToken(String accessToken) {
     public boolean validateAccessToken(String accessToken) {
-        Object o = redisTemplate.opsForHash().get(ACCESS_TOKEN_LIST, accessToken);
+        Object o = stringRedisTemplate.opsForHash().get(ACCESS_TOKEN_LIST, accessToken);
         if (o == null) {
         if (o == null) {
             return false;
             return false;
         }
         }
         long timestamp = Long.parseLong((String) o);
         long timestamp = Long.parseLong((String) o);
         if (System.currentTimeMillis() / 1000 > timestamp) {
         if (System.currentTimeMillis() / 1000 > timestamp) {
-            redisTemplate.opsForHash().delete(ACCESS_TOKEN_LIST, accessToken);
+            stringRedisTemplate.opsForHash().delete(ACCESS_TOKEN_LIST, accessToken);
             return false;
             return false;
         }
         }
         return true;
         return true;
@@ -127,7 +130,7 @@ public class AccessTokenServiceImpl implements AccessTokenService {
 
 
     @Override
     @Override
     public SecretEnum getSecretEnum(String accessToken) {
     public SecretEnum getSecretEnum(String accessToken) {
-        String secret = (String) redisTemplate.opsForValue().get(accessToken);
+        String secret = (String) stringRedisTemplate.opsForValue().get(accessToken);
         if(StringUtils.isEmpty(secret)){
         if(StringUtils.isEmpty(secret)){
             return null;
             return null;
         }
         }

+ 2 - 0
api-module/src/main/resources/application.properties

@@ -2,6 +2,8 @@ logging.config=classpath:log4j2.xml
 spring.profiles.active=test
 spring.profiles.active=test
 spring.application.name=we-com-server
 spring.application.name=we-com-server
 
 
+spring.main.allow-bean-definition-overriding=true
+
 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.initialSize=5
 spring.datasource.initialSize=5

+ 1 - 1
api-module/src/main/resources/log4j2.xml

@@ -12,7 +12,7 @@
         <!-- 定义日志存储的路径,不要配置相对路径 -->
         <!-- 定义日志存储的路径,不要配置相对路径 -->
         <property name="FILE_PATH" value="/datalog" />
         <property name="FILE_PATH" value="/datalog" />
         <!--项目名称-->
         <!--项目名称-->
-        <property name="FILE_NAME" value="we_com_server" />
+        <property name="FILE_NAME" value="growth_manager" />
     </Properties>
     </Properties>
 
 
     <appenders>
     <appenders>

+ 12 - 0
common-module/src/main/java/com/tzld/piaoquan/common/config/RedisConfig.java

@@ -31,6 +31,18 @@ public class RedisConfig {
         return redisTemplate;
         return redisTemplate;
     }
     }
 
 
+    @Bean
+    public RedisTemplate<String, String> stringRedisTemplate(RedisConnectionFactory redisConnectionFactory){
+        RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
+        redisTemplate.setConnectionFactory(redisConnectionFactory);
+        redisTemplate.setKeySerializer(new StringRedisSerializer());
+        redisTemplate.setValueSerializer(new StringRedisSerializer());
+        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+        redisTemplate.setHashValueSerializer(new StringRedisSerializer());
+        redisTemplate.afterPropertiesSet();
+        return redisTemplate;
+    }
+
     public RedisSerializer<Object> redisSerializer() {
     public RedisSerializer<Object> redisSerializer() {
         //创建JSON序列化器
         //创建JSON序列化器
         ObjectMapper objectMapper = new ObjectMapper();
         ObjectMapper objectMapper = new ObjectMapper();