From fc1a066edd335345167df7573f9119ef8dd1689a Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 10 Jul 2025 17:36:47 +0800
Subject: [PATCH] 小程序:微信授权登录角色处理

---
 oying-common/src/main/java/com/oying/utils/RedisUtils.java |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 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 ccd9126..bf5b094 100644
--- a/oying-common/src/main/java/com/oying/utils/RedisUtils.java
+++ b/oying-common/src/main/java/com/oying/utils/RedisUtils.java
@@ -5,11 +5,14 @@
 import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.connection.RedisConnection;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.*;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -21,7 +24,11 @@
 @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-";
     private RedisTemplate<Object, Object> redisTemplate;
 
     public RedisUtils(RedisTemplate<Object, Object> redisTemplate) {
@@ -31,6 +38,44 @@
     }
 
     /**
+     * 生成18位订单编号:8位日期+4位秒+7位以上自增id
+     *
+     * @param i
+     * @return
+     */
+    public String generateOrderSn(Integer i) {
+        StringBuilder sb = new StringBuilder();
+        String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
+        String key = generateOrderSn + date;
+        Long increment = increment(key);
+        sb.append(date);
+        sb.append(String.format("%04d", i));
+        String incrementStr = increment.toString();
+        if (incrementStr.length() <= 7) {
+            sb.append(String.format("%07d", increment));
+        } else {
+            sb.append(incrementStr);
+        }
+        if (wxEnabled) {
+            // 生产环境
+            return sb.toString();
+        } else {
+            // 测试环境
+            return T + sb.toString();
+        }
+    }
+
+    /**
+     * 判断key是否过期
+     *
+     * @param key
+     * @return
+     */
+    public boolean isExpire(Object key) {
+        return getExpire(key) > 1 ? false : true;
+    }
+
+    /**
      * 指定缓存失效时间
      *
      * @param key  键

--
Gitblit v1.9.3