东丽区 网站建设,软件商城下载安卓版,以绿色为主色调的网站,这么登入wordpress在开发中#xff0c;咱们有很多时候需要自定义编码#xff0c;而不是使用uuid或者是自增ID。 本章就介绍一个自定义业务编码的生成规则。 import lombok.AllArgsConstructor;
import lombok.Getter;/*** author: mcs* Date: 2022/11/27 10:00* Description: 业务编码类型及其…在开发中咱们有很多时候需要自定义编码而不是使用uuid或者是自增ID。 本章就介绍一个自定义业务编码的生成规则。 import lombok.AllArgsConstructor;
import lombok.Getter;/*** author: mcs* Date: 2022/11/27 10:00* Description: 业务编码类型及其生成规则*/
Getter
AllArgsConstructor
public enum CodeTypeEnum {/***业务编码生成规则*/QX(QX, QX%s%s, yyyyMM, 000, 缺陷);/*** 业务编码*/private String type;/*** 业务编码格式*/private String text;/*** 时间样式*/private String dateFormat;/*** 字符*/private String serialFormat;/*** 信息*/private String remark;
}
Component
Slf4j
public class RandomGenerateUtil {Resourceprivate RedisTemplateString, Long redisTemplate;/*** Redis key 编码前缀*/private final static String SERIAL_REDIS_KEY_PREFIX businessCode:;/*** 自动编码* 注意使用该编码需要集成redis* param codeTypeEnum* return*/public String nextSerialNumber(CodeTypeEnum codeTypeEnum) {// 格式化日期LocalDateTime now LocalDateTime.now();DateTimeFormatter formatter DateTimeFormatter.ofPattern(codeTypeEnum.getDateFormat());String date formatter.format(now);// 获取流水号final String type codeTypeEnum.getType();String redisKey SERIAL_REDIS_KEY_PREFIX type : date;DecimalFormat dft new DecimalFormat(codeTypeEnum.getSerialFormat());Long count redisTemplate.opsForValue().increment(redisKey, 1);String code dft.format(count);// 组装返回数据return String.format(codeTypeEnum.getText(), date, code);}
}最后生成的业务编码如下
QX202311008
QX202311005
QX202311006
QX202311004
QX202311007