From 8697c34282ebda370661099d929acbfcc6321c78 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Sat, 3 Jun 2023 19:36:48 +0800 Subject: [PATCH] Optimized getUserInfo --- Pinnacle/pom.xml | 4 ++ .../cfive/pinnacle/config/RedisConfig.java | 8 ++-- .../com/cfive/pinnacle/entity/Department.java | 1 + .../filter/JwtAuthenticationTokenFilter.java | 3 +- .../mapper/permission/UserMapper.xml | 47 ++++++++++++++----- 5 files changed, 46 insertions(+), 17 deletions(-) diff --git a/Pinnacle/pom.xml b/Pinnacle/pom.xml index 7a8736c..8c796ab 100644 --- a/Pinnacle/pom.xml +++ b/Pinnacle/pom.xml @@ -96,6 +96,10 @@ org.springframework.boot spring-boot-starter-actuator + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/config/RedisConfig.java b/Pinnacle/src/main/java/com/cfive/pinnacle/config/RedisConfig.java index 2a55fd4..5dd2b44 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/config/RedisConfig.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/config/RedisConfig.java @@ -1,5 +1,7 @@ package com.cfive.pinnacle.config; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; @@ -11,12 +13,12 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; public class RedisConfig { @Bean - public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) - { + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); - Jackson2JsonRedisSerializer objectJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); + ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule()); + Jackson2JsonRedisSerializer objectJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class); // 使用StringRedisSerializer来序列化和反序列化redis的key值 redisTemplate.setKeySerializer(stringRedisSerializer); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java index bcb7c9b..af324ef 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java @@ -66,5 +66,6 @@ public class Department implements Serializable { * 部门成员 */ @TableField(exist = false) + @Deprecated private List userList; } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/filter/JwtAuthenticationTokenFilter.java b/Pinnacle/src/main/java/com/cfive/pinnacle/filter/JwtAuthenticationTokenFilter.java index d2cdd77..5437e50 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/filter/JwtAuthenticationTokenFilter.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/filter/JwtAuthenticationTokenFilter.java @@ -5,6 +5,7 @@ import com.cfive.pinnacle.exception.TokenHasExpiredException; import com.cfive.pinnacle.utils.JwtUtil; import com.cfive.pinnacle.utils.RedisCache; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import jakarta.annotation.Nonnull; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -42,7 +43,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { JwtUtil.parseJWT(token); String redisKey = "login:" + token; - LoginUser loginUser = new ObjectMapper().convertValue(redisCache.getCacheObject(redisKey), LoginUser.class); + LoginUser loginUser = new ObjectMapper().registerModule(new JavaTimeModule()).convertValue(redisCache.getCacheObject(redisKey), LoginUser.class); if (Objects.isNull(loginUser)) { throw new TokenHasExpiredException(); } diff --git a/Pinnacle/src/main/resources/mapper/permission/UserMapper.xml b/Pinnacle/src/main/resources/mapper/permission/UserMapper.xml index 88ab454..af28754 100644 --- a/Pinnacle/src/main/resources/mapper/permission/UserMapper.xml +++ b/Pinnacle/src/main/resources/mapper/permission/UserMapper.xml @@ -30,7 +30,7 @@ - select distinct t_user.id as user_id, t_user.username as user_username, t_user.department_id as user_department_id, @@ -66,7 +66,7 @@ - select t_user.id as user_id, t_user.username as user_username, t_user.department_id as user_department_id, @@ -109,6 +109,11 @@ ts.id as staff_id, ts.first_name as staff_first_name, ts.last_name as staff_last_name, + ts.gender as staff_gender, + ts.birth as staff_birth, + ts.email as staff_email, + ts.tel as staff_tel, + ts.address as staff_address, ts.deleted as staff_deleted, ts.version as staff_version, tm.id as menu_id, @@ -143,7 +148,7 @@ and t_user.username = #{username} - select distinct t_user.id as user_id, t_user.username as user_username, t_user.department_id as user_department_id, @@ -179,7 +184,7 @@ and t.code = 'affair:manage:modify' - select distinct t_user.id as user_id, t_user.username as user_username, t_user.department_id as user_department_id, @@ -224,7 +229,30 @@ - + + + + + + + + + + + + + + + + + + + + + + + + @@ -248,15 +276,8 @@ - + - - - - - - -