From a6ac90e29e513b80b7ad881da8e319338021ef8b Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 25 Sep 2025 22:41:40 +0800
Subject: [PATCH] 生产环境配置
---
oying-common/src/main/java/com/oying/utils/RedisUtils.java | 51 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 37 insertions(+), 14 deletions(-)
diff --git a/oying-common/src/main/java/com/oying/utils/RedisUtils.java b/oying-common/src/main/java/com/oying/utils/RedisUtils.java
index bf5b094..eb0b2a4 100644
--- a/oying-common/src/main/java/com/oying/utils/RedisUtils.java
+++ b/oying-common/src/main/java/com/oying/utils/RedisUtils.java
@@ -21,14 +21,13 @@
* @author Z
*/
@Component
-@SuppressWarnings({"unchecked","all"})
+@SuppressWarnings({"unchecked", "all"})
public class RedisUtils {
private static final Logger log = LoggerFactory.getLogger(RedisUtils.class);
- @Value("${jwt.generate-order-sn}")
- private String generateOrderSn;
- @Value("${wx.enabled}")
- private Boolean wxEnabled;
- private static final String T = "-T-";
+ @Value("${oying.enabled}")
+ private Boolean oyingEnabled;
+ private static final String T = "T-";
+ private static final String OY = "OY-";
private RedisTemplate<Object, Object> redisTemplate;
public RedisUtils(RedisTemplate<Object, Object> redisTemplate) {
@@ -43,10 +42,10 @@
* @param i
* @return
*/
- public String generateOrderSn(Integer i) {
+ public String generateSn(String generate, Integer i) {
StringBuilder sb = new StringBuilder();
String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
- String key = generateOrderSn + date;
+ String key = generate + i + date;
Long increment = increment(key);
sb.append(date);
sb.append(String.format("%04d", i));
@@ -56,9 +55,9 @@
} else {
sb.append(incrementStr);
}
- if (wxEnabled) {
+ if (oyingEnabled) {
// 生产环境
- return sb.toString();
+ return OY + sb.toString();
} else {
// 测试环境
return T + sb.toString();
@@ -227,9 +226,10 @@
/**
* 批量模糊删除key
+ *
* @param pattern
*/
- public void scanDel(String pattern){
+ public void scanDel(String pattern) {
ScanOptions options = ScanOptions.scanOptions().match(pattern).build();
try (Cursor<byte[]> cursor = redisTemplate.executeWithStickyConnection(
(RedisCallback<Cursor<byte[]>>) connection -> (Cursor<byte[]>) new ConvertingCursor<>(
@@ -273,7 +273,7 @@
/**
* 普通缓存获取
*
- * @param key 键
+ * @param key 键
* @param clazz 列表中元素的类型
* @return 值
*/
@@ -300,7 +300,7 @@
* @return 值
*/
public String getStr(String key) {
- if(StrUtil.isBlank(key)){
+ if (StrUtil.isBlank(key)) {
return null;
}
Object value = redisTemplate.opsForValue().get(key);
@@ -320,7 +320,7 @@
public List<Object> multiGet(List<String> keys) {
List list = redisTemplate.opsForValue().multiGet(Sets.newHashSet(keys));
List resultList = Lists.newArrayList();
- Optional.ofNullable(list).ifPresent(e-> list.forEach(ele-> Optional.ofNullable(ele).ifPresent(resultList::add)));
+ Optional.ofNullable(list).ifPresent(e -> list.forEach(ele -> Optional.ofNullable(ele).ifPresent(resultList::add)));
return resultList;
}
@@ -390,6 +390,27 @@
}
}
+ /**
+ * 分布式ID生成器
+ *
+ * @param key 键
+ * @param value 值
+ * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期,注意:这里将会替换原有的时间
+ * @return true成功 false 失败
+ */
+ public boolean setIfAbsent(String key, Object value, long time) {
+ try {
+ if (time > 0) {
+ Boolean result = redisTemplate.opsForValue().setIfAbsent(key, value, time, TimeUnit.SECONDS);
+ return result;
+ } else {
+ return false;
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ return false;
+ }
+ }
// ================================Map=================================
/**
@@ -816,6 +837,7 @@
/**
* 递增
+ *
* @param key
* @return
*/
@@ -825,6 +847,7 @@
/**
* 递减
+ *
* @param key
* @return
*/
--
Gitblit v1.9.3