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