From 03dd384bb8b78f04eadcf619849b3687fa98c6c1 Mon Sep 17 00:00:00 2001
From: zhanglin <852614290@qq.com>
Date: 星期六, 22 七月 2023 18:19:47 +0800
Subject: [PATCH] 微信支付,支付与结果通知
---
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java | 145 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 113 insertions(+), 32 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java
index f26f5f2..4fe9468 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java
@@ -5,7 +5,6 @@
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
import java.security.SecureRandom;
import java.util.Date;
import java.util.Random;
@@ -21,14 +20,13 @@
@Component
public class CodeFactoryUtil {
+ private static RedisService redisService = null;
- //静态住入到自己的类中
- private static RedisService redisService;
-
- //将静态属性以入参(形参)的方式传入一个方法中,然后将此方法通过 @Resource 注入到Spring容器中
- @Resource
- public void setService(RedisService redisService) {
- CodeFactoryUtil.redisService = redisService;
+ private static RedisService getRedisService() {
+ if (redisService == null) {
+ redisService = ApplicationContextUtil.getBean(RedisService.class);
+ }
+ return redisService;
}
/**
@@ -40,6 +38,13 @@
* 商户编号
*/
private static final String SHOP_PREFIX = "HRT_S";
+
+ /**
+ * 商品编号
+ */
+ private static final String GOODS_PREFIX = "HRT_G";
+
+
/**
* 商户订单前缀
@@ -56,6 +61,41 @@
*/
private static final String SHOP_ORDER_PREFIX = "CJ";
+ /**
+ * 积分商城订单前缀
+ */
+ private static final String INTEGRAL_ORDER_PREFIX = "JF";
+
+ /**
+ * 直播订单前缀
+ */
+ private static final String LIVE_ORDER_PREFIX = "ZB";
+
+ /**
+ * 拼团订单前缀
+ */
+ private static final String GROUP_ORDER_PREFIX = "PT";
+
+ /**
+ * 砍价订单前缀
+ */
+ private static final String CUT_ORDER_PREFIX = "KJ";
+
+ /**
+ * 采购订单前缀
+ */
+ private static final String PURCHASE_ORDER_PREFIX = "CG";
+
+ /**
+ * 入库订单前缀
+ */
+ private static final String IN_ORDER_PREFIX = "RK";
+
+ /**
+ * 出库订单前缀
+ */
+ private static final String OUT_ORDER_PREFIX = "CK";
+
/**
* 退款订单前缀
@@ -70,7 +110,7 @@
* 用户id和随机数总长度
*/
- private static final int SHOP_LENGTH = 4;
+ private static final int SHOP_LENGTH = 5;
private static final int MEMBER_LENGTH = 6;
@@ -80,19 +120,20 @@
* 更具id进行加密+加随机数组成固定长度编码
*/
- /*public static void main(String[] args) {
-
- }*/
+ public static void main(String[] args) {
+ System.out.printf("getShopNo()"+getShopNo());
+ }
/**
* 获取商户编号
- *
- * @param shopId
* @return
*/
- public static String getShopNo(Long shopId) {
+ public static String getShopNo() {
+ String shopNo;
String prefix = SHOP_PREFIX;
- return toFillZeroCode(prefix, SHOP_LENGTH, shopId);
+ String suffixNumber = getNoSuffixNumber(prefix);
+ shopNo = prefix + suffixNumber;
+ return shopNo;
}
/**
@@ -105,33 +146,73 @@
return toFillZeroCode(prefix, MEMBER_LENGTH, userId);
}
- public static String getShopOrderNo() {
- String orderNo;
- String timeTemp = DateFormatUtils.format(new Date(), "yyyyMMdd");
- String prefix = ORDER_PREFIX + timeTemp;
- String suffixNumber = getSuffixNumber(prefix);
- orderNo = prefix + suffixNumber;
- return orderNo;
+ /**
+ * @description 获取商品编号
+ * @author jqs
+ * @date 2023/6/13 14:48
+ * @param
+ * @return String
+ */
+ public static String getGoodsNo() {
+ String goodsNo;
+ String prefix = GOODS_PREFIX;
+ String suffixNumber = getNoSuffixNumber(prefix);
+ goodsNo = prefix + suffixNumber;
+ return goodsNo;
}
- private static String getSuffixNumber(String prefix){
+
+ private static String getNoSuffixNumber(String prefix){
Integer suffixNumberInt;
- String suffixNumber = "0001";
- if(redisService.hasKey(prefix)){
- suffixNumberInt = redisService.getCacheObject(prefix);
- suffixNumber = toFillZeroSuffixNumber(suffixNumberInt);
+ String suffixNumber = "00001";
+ if(getRedisService().hasKey(prefix)){
+ suffixNumberInt = getRedisService().getCacheObject(prefix);
+ suffixNumber = toFillZeroSuffixNumber(suffixNumberInt,SHOP_LENGTH);
suffixNumberInt = suffixNumberInt + 1;
- redisService.setCacheObject(prefix, suffixNumberInt, 24L, TimeUnit.HOURS);
+ getRedisService().setCacheObject(prefix, suffixNumberInt);
}else{
- redisService.setCacheObject(prefix, 1, 24L, TimeUnit.HOURS);
+ getRedisService().setCacheObject(prefix, 1);
}
return suffixNumber;
}
- private static String toFillZeroSuffixNumber(Integer suffixNumberInt){
+
+ /**
+ * @description 获取商城订单编号
+ * @author jqs
+ * @date 2023/6/13 14:48
+ * @param
+ * @return String
+ */
+ public static String getShopOrderNo() {
+ String orderNo;
+ String timeTemp = DateFormatUtils.format(new Date(), "yyyyMMdd");
+ String prefix = ORDER_PREFIX + timeTemp;
+ String suffixNumber = getOrderSuffixNumber(prefix);
+ orderNo = prefix + suffixNumber;
+ return orderNo;
+ }
+
+
+
+ private static String getOrderSuffixNumber(String prefix){
+ Integer suffixNumberInt;
+ String suffixNumber = "0001";
+ if(getRedisService().hasKey(prefix)){
+ suffixNumberInt = getRedisService().getCacheObject(prefix);
+ suffixNumber = toFillZeroSuffixNumber(suffixNumberInt,ORDER_LENGTH);
+ suffixNumberInt = suffixNumberInt + 1;
+ getRedisService().setCacheObject(prefix, suffixNumberInt, 24L, TimeUnit.HOURS);
+ }else{
+ getRedisService().setCacheObject(prefix, 1, 24L, TimeUnit.HOURS);
+ }
+ return suffixNumber;
+ }
+
+ private static String toFillZeroSuffixNumber(Integer suffixNumberInt,Integer maxLength){
String suffixNumberStr = suffixNumberInt.toString();
int length = suffixNumberStr.length();
- int fillLength = 4 - length;
+ int fillLength = maxLength - length;
StringBuilder idsbs = new StringBuilder();
for (int i = 0; i < fillLength; i++) {
idsbs.append("0");
--
Gitblit v1.7.1