生成订单号
@Autowired
private StringRedisTemplate redisTemplate;
private final String prefix = "order:id:";
@GetMapping("/getOrderNo")
@ApiOperation(value = "获取订单号")
public Result getOrderNo() {
// 201110
String date = DateTime.now().toString("yyMMdd");
String key = pre + date;
Long increase = redisTemplate.opsForValue().increment(key, 1);
if (increase == 1) {
redisTemplate.expire(key, 24, TimeUnit.HOURS);
}
// 00001
String format = String.format("%05d", increase);
date += format; // 20111000001
// return : ON20111000001
return Result.ok("ON" + date);
}
调用测试一下
redis计数器存储结果
生成订单号