一些订单类或者合同类的业务场景需求要生成包含时间信息、账套、订单类型、排列顺序等特征的字符串id。
较第一种方法,效率更高了。
import org.springframework.data.redis.core.RedisTemplate;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
}
private String getBillCode(String org, String billtype){
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(org).append(billtype);
stringBuilder.append(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
String key = stringBuilder.toString();
Long value = redisTemplate.opsForValue().increment(key);
stringBuilder.append(String.format("%05d",value));
redisTemplate.expireAt(key, Date.valueOf(LocalDate.now().plusDays(1)));
return stringBuilder.toString();
}