From 399efe49ff3fc0e957c487f1ab882ba2c7f03a9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E6=9D=8E?= <1040978436@qq.com>
Date: Wed, 7 Jan 2026 16:43:12 +0800
Subject: [PATCH] =?UTF-8?q?add=20=E9=80=80=E5=87=BA=E7=99=BB=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/common-core/pom.xml | 9 ++++
.../com/tacit/common/utils/JSONUtils.java | 26 +++++++++
.../com/tacit/common/utils/RedisConfig.java | 45 ++++++++++++++++
.../com/tacit/common/utils/RedisUtils.java | 37 +++++++++++++
.../java/com/tacit/common/utils/ResCode.java | 53 +++++++++++++++++++
.../java/com/tacit/common/entity/Base.java | 3 +-
.../tacit/common/entity/ResponseResult.java | 3 ++
pom.xml | 14 +++++
tacit-admin/Dockerfile | 2 +-
tacit-admin/pom.xml | 10 +++-
.../admin/controller/AuthController.java | 13 +++++
.../com/tacit/admin/service/UserService.java | 4 ++
.../admin/service/impl/UserServiceImpl.java | 21 +++++++-
.../src/main/resources/application-dev.yml | 33 ------------
.../src/main/resources/application-qa.yml | 33 ------------
tacit-admin/src/main/resources/bootstrap.yml | 8 +--
tacit-app-api/Dockerfile | 2 +-
.../src/main/resources/application-dev.yml | 43 ---------------
.../src/main/resources/application-qa.yml | 43 ---------------
.../src/main/resources/bootstrap.yml | 7 ++-
tacit-gateway/Dockerfile | 2 +-
tacit-gateway/pom.xml | 10 +++-
.../com/tacit/gateway/config/RedisConfig.java | 45 ++++++++++++++++
.../filter/JwtAuthenticationFilter.java | 18 ++++---
.../src/main/resources/bootstrap.yml | 7 ++-
25 files changed, 319 insertions(+), 172 deletions(-)
create mode 100644 common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java
create mode 100644 common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java
create mode 100644 common/common-core/src/main/java/com/tacit/common/utils/RedisUtils.java
create mode 100644 common/common-core/src/main/java/com/tacit/common/utils/ResCode.java
create mode 100644 tacit-gateway/src/main/java/com/tacit/gateway/config/RedisConfig.java
diff --git a/common/common-core/pom.xml b/common/common-core/pom.xml
index ca0e2da..257124d 100644
--- a/common/common-core/pom.xml
+++ b/common/common-core/pom.xml
@@ -56,6 +56,15 @@
junit-jupiter
test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ redis.clients
+ jedis
+
diff --git a/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java b/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java
new file mode 100644
index 0000000..afda4a6
--- /dev/null
+++ b/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java
@@ -0,0 +1,26 @@
+package com.tacit.common.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.tacit.common.exception.BusinessException;
+
+public class JSONUtils {
+ public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
+ .registerModule(new JavaTimeModule());
+ /**
+ *
+ * @param obj
+ * @return
+ */
+ public static String obj2String(T obj) {
+ if (obj == null) {
+ return null;
+ }
+ try {
+ return obj instanceof String ? (String)obj : OBJECT_MAPPER.writeValueAsString(obj);
+ } catch (JsonProcessingException e) {
+ throw new BusinessException("object 序列化错误");
+ }
+ }
+}
diff --git a/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java b/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java
new file mode 100644
index 0000000..d35619d
--- /dev/null
+++ b/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java
@@ -0,0 +1,45 @@
+package com.tacit.common.utils;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class RedisConfig {
+
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
+ RedisTemplate template = new RedisTemplate<>();
+ template.setConnectionFactory(factory);
+
+ // key 使用 String 序列化
+ template.setKeySerializer(new StringRedisSerializer());
+ template.setHashKeySerializer(new StringRedisSerializer());
+
+ // value 使用 JSON 序列化
+ Jackson2JsonRedisSerializer