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 | 37 ++++++++++++++++++++++++++++++++++++- 1 files changed, 36 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 d50d82c..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,34 @@ } /** + * 生成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 -- Gitblit v1.9.3