mirror of
https://gitee.com/youlaitech/youlai-mall.git
synced 2024-12-23 05:00:25 +08:00
feat:添加业务编号生成方法
This commit is contained in:
parent
25b5dc1cbc
commit
b73cc79e5b
@ -0,0 +1,34 @@
|
||||
package com.youlai.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author haoxr
|
||||
* @date 2021-02-17 13:13
|
||||
*
|
||||
*/
|
||||
public enum BusinessTypeEnum {
|
||||
|
||||
USER("100", "用户类型编号"),
|
||||
MEMBER("200", "会员类型编号"),
|
||||
ORDER("300", "订单类型编号");
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
private String code;
|
||||
|
||||
BusinessTypeEnum(String code, String desc) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public static BusinessTypeEnum getValue(String code){
|
||||
for (BusinessTypeEnum value : values()) {
|
||||
if (value.getCode().equals(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -11,6 +11,11 @@
|
||||
|
||||
<artifactId>common-redis</artifactId>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.youlai</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
|
@ -0,0 +1,43 @@
|
||||
package com.youlai.common.redis.component;
|
||||
|
||||
import com.youlai.common.enums.BusinessTypeEnum;
|
||||
import com.youlai.common.redis.constant.RedisKeyConstants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class BusinessNoGenerator {
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate redisTemplate;
|
||||
|
||||
/**
|
||||
* @param businessCode 业务类型编号
|
||||
* @param digit 业务序号位数
|
||||
* @return
|
||||
*/
|
||||
public String generate(String businessCode, Integer digit) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
// String date = LocalDateTime.now(ZoneOffset.of("+8")).format(formatter);
|
||||
|
||||
String date="20210216";
|
||||
String key = RedisKeyConstants.BUSINESS_NO_PREFIX + BusinessTypeEnum.getValue(businessCode).toString().toLowerCase() + ":" + date;
|
||||
Long increment = redisTemplate.opsForValue().increment(key);
|
||||
return date + businessCode + String.format("%0" + digit + "d", increment);
|
||||
}
|
||||
|
||||
|
||||
public String generate(String businessCode) {
|
||||
Integer defaultDigit = 6;
|
||||
return generate(businessCode, defaultDigit);
|
||||
}
|
||||
|
||||
}
|
@ -8,5 +8,7 @@ public interface RedisKeyConstants {
|
||||
|
||||
String MALL_CART_KEY = YOU_LAI + "cart:";
|
||||
|
||||
String TOKEN_VERIFY ="token_verify:";
|
||||
String TOKEN_VERIFY = "token_verify:";
|
||||
|
||||
String BUSINESS_NO_PREFIX = "businessno:";
|
||||
}
|
||||
|
@ -1,2 +1,3 @@
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
com.youlai.common.redis.RedisConfig
|
||||
com.youlai.common.redis.RedisConfig,\
|
||||
com.youlai.common.redis.component.BusinessNoGenerator
|
||||
|
Loading…
Reference in New Issue
Block a user