From dd69bfc1fb8e5e28dde754fab7f23bfb1a18faa5 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 05 六月 2026 16:58:07 +0800
Subject: [PATCH] config(dev): 更新开发环境配置和文件上传功能 - 调整文件上传路径配置 - 修复OA环境文件链接前缀配置 - 在审批实例服务中添加报销相关数据删除逻辑 - 实现申请人姓名自动填充功能 - 添加文件下载预览路由的正则表达式支持 - 为企业新闻VO添加附件列表兼容别名 - 完善员工入职服务的异常处理 - 新增账户附件管理控制器 - 实现文件上传接口并返回完整文件信息
---
src/main/java/com/ruoyi/framework/config/RedisConfig.java | 44 +++++++++++++++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/src/main/java/com/ruoyi/framework/config/RedisConfig.java
index 6322686..b188ac2 100644
--- a/src/main/java/com/ruoyi/framework/config/RedisConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/RedisConfig.java
@@ -6,10 +6,8 @@
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.core.script.DefaultRedisScript;
import org.springframework.data.redis.serializer.StringRedisSerializer;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
/**
* redis閰嶇疆
@@ -29,15 +27,43 @@
FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class);
- ObjectMapper mapper = new ObjectMapper();
- mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
- mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
- serializer.setObjectMapper(mapper);
-
- template.setValueSerializer(serializer);
// 浣跨敤StringRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊�
template.setKeySerializer(new StringRedisSerializer());
+ template.setValueSerializer(serializer);
+
+ // Hash鐨刱ey涔熼噰鐢⊿tringRedisSerializer鐨勫簭鍒楀寲鏂瑰紡
+ template.setHashKeySerializer(new StringRedisSerializer());
+ template.setHashValueSerializer(serializer);
+
template.afterPropertiesSet();
return template;
}
+
+ @Bean
+ public DefaultRedisScript<Long> limitScript()
+ {
+ DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>();
+ redisScript.setScriptText(limitScriptText());
+ redisScript.setResultType(Long.class);
+ return redisScript;
+ }
+
+ /**
+ * 闄愭祦鑴氭湰
+ */
+ private String limitScriptText()
+ {
+ return "local key = KEYS[1]\n" +
+ "local count = tonumber(ARGV[1])\n" +
+ "local time = tonumber(ARGV[2])\n" +
+ "local current = redis.call('get', key);\n" +
+ "if current and tonumber(current) > count then\n" +
+ " return tonumber(current);\n" +
+ "end\n" +
+ "current = redis.call('incr', key)\n" +
+ "if tonumber(current) == 1 then\n" +
+ " redis.call('expire', key, time)\n" +
+ "end\n" +
+ "return tonumber(current);";
+ }
}
--
Gitblit v1.9.3