java Redis生成唯一流水号
生成流水号可以有很多方式,此文章采用redis 键自增的方式哦
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.text.DecimalFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * @author wuzhenyong * ClassName:SerialUtil.java * date:2022-04-26 8:21 * Description: 流水号工具类 */ @Component public class SerialUtil { /** * redis流水号key */ private final static String REDIS_KEY = "serial"; /** * 流水号抬头 */ private final static String STR = "LSH"; /** * 流水号格式 */ private final static String FORMAT_CODE = "0000"; @Autowired private RedisTemplate redisTemplate; /** * 生成流水号 * 实际业务需要检查数据库是否存在 * @return {@link String} */ public String nextValue() { LocalDateTime now = LocalDateTime.now(); // 格式在这里定义 String pattern = "yyyyMMdd"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); String date = formatter.format(now); DecimalFormat dft = new DecimalFormat(FORMAT_CODE); Long count = redisTemplate.opsForValue().increment(REDIS_KEY, 1); // 格式化为四位流水号 String code = dft.format(count); // 最终结果 String result = STR + date + code; return result; } }
调用生成流水号的方法
例子:当前时间2022-05-20
流水号为:LSH202205200001 前缀+日期+四位数(自增的方式)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY