应用场景
- 全局流水号
- 区分前后台
- 包含日期,可以从流水号一眼看出日期
- 不需要显示在前台,可以在后台显示
- 唯一标识每一次请求
- 订单号 , 优惠券号码等电商业务相关
参考电商订单号设计的资料,自定义实现
- 数据库主键
- [单调]递增
- 可能考虑分库分表
- 使用 美团leaf
全局流水号
构成: 1/2/3-时间格式化-序号
1: auth
2: admin
3: api
例:
2-2020-10-28-22:58:58-3
代码参考
https://gitee.com/sanren2016/shop-boot/tree/847b1c1d9037d8156d91c588561806c39edee63e/
效果
实现思路
使用全局拦截器+ThreadLocal,在preHandle
中获取流水号,流水号获取代码:
com.laolang.shop.common.data.mvc.trace.TraceComponent
美团 Leaf
参考: https://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.md
git clone git@github.com:Meituan-Dianping/Leaf.git
git checkout feature/spring-boot-starter
cd leaf
mvn clean install -Dmaven.test.skip=true
引入时需要注意mybatis依赖和druid依赖的冲突
<dependency>
<artifactId>leaf-boot-starter</artifactId>
<exclusions>
<exclusion>
<artifactId>druid</<