From d6e5d5a71112fb1f0a7361485e80692cc03bc4c3 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 13 六月 2023 19:01:48 +0800
Subject: [PATCH] 优惠券管理

---
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/CodeFactoryUtil.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 95 insertions(+), 12 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..142f067 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
@@ -42,6 +42,13 @@
     private static final String SHOP_PREFIX = "HRT_S";
 
     /**
+     * 商品编号
+     */
+    private static final String GOODS_PREFIX = "HRT_G";
+
+
+
+    /**
      * 商户订单前缀
      */
     private static final String ORDER_PREFIX = "SC";
@@ -55,6 +62,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 +112,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 +122,20 @@
      * 更具id进行加密+加随机数组成固定长度编码
      */
 
-    /*public static void main(String[] args) {
+    public static void main(String[] args) {
 
-    }*/
+    }
 
     /**
      * 获取商户编号
-     *
-     * @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,21 +148,61 @@
         return toFillZeroCode(prefix, MEMBER_LENGTH, userId);
     }
 
+    /**
+     * @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 getNoSuffixNumber(String prefix){
+        Integer suffixNumberInt;
+        String suffixNumber = "00001";
+        if(redisService.hasKey(prefix)){
+            suffixNumberInt = redisService.getCacheObject(prefix);
+            suffixNumber = toFillZeroSuffixNumber(suffixNumberInt,SHOP_LENGTH);
+            suffixNumberInt = suffixNumberInt + 1;
+            redisService.setCacheObject(prefix, suffixNumberInt);
+        }else{
+            redisService.setCacheObject(prefix, 1);
+        }
+        return suffixNumber;
+    }
+
+
+    /**
+     * @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 = getSuffixNumber(prefix);
+        String suffixNumber = getOrderSuffixNumber(prefix);
         orderNo = prefix + suffixNumber;
         return orderNo;
     }
 
-    private static String getSuffixNumber(String prefix){
+
+
+    private static String getOrderSuffixNumber(String prefix){
         Integer suffixNumberInt;
         String suffixNumber = "0001";
         if(redisService.hasKey(prefix)){
             suffixNumberInt = redisService.getCacheObject(prefix);
-            suffixNumber = toFillZeroSuffixNumber(suffixNumberInt);
+            suffixNumber = toFillZeroSuffixNumber(suffixNumberInt,ORDER_LENGTH);
             suffixNumberInt = suffixNumberInt + 1;
             redisService.setCacheObject(prefix, suffixNumberInt, 24L, TimeUnit.HOURS);
         }else{
@@ -128,10 +211,10 @@
         return suffixNumber;
     }
 
-    private static String toFillZeroSuffixNumber(Integer suffixNumberInt){
+    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