利用redis创建订单号
来源:互联网 发布:c语言入门那本书好 编辑:程序博客网 时间:2024/06/04 22:12
该程序订单号有业务类型(飞机票业务是1或者火车票业务是2依次类推)+日期(四位数)+默认数字(100)+六位随机数总共14位的订单号
首先每天第一次都会生成key,并保存订单号,第二次获取订单号,会根据第一次生成的key获取订单号,并且加1,成为第二个订单号并保存,有序性。
@Overridepublic Long createSerialNumber(String biz,String type) { try { if (StringUtils.isBlank(biz)) return null; return kvClient.lockForProcess2( biz, System.currentTimeMillis() + "", PayDistributeLockPrefix.LOCK_ORDER_TIME, new DistributeLockProcessor<Long>() { @Override public Long process() { String date = DateUtils.DateToString(null, DateStyle.MMDD); String key = type + biz + date;// key String start = biz + date; String v = kvClient.read(key, String.class); String s = null;// value if (null == v) {// 每天第一次生成 s = start + "100" + RandomStringUtils.random(6, false, true); kvClient.save(key, s, Integer.MAX_VALUE); return Long.valueOf(s); } else { v = v.substring( v.length() - 7, v.length()); Integer returnInt = Integer.valueOf(v); returnInt++; v = start + returnInt; kvClient.save(key, v, Integer.MAX_VALUE); return Long.valueOf(v); } } }); } catch (Exception e) { LOGGER.info("获取订单编号失败", e); Ensure.that(e).isNotNull("09000001"); } return null;}
阅读全文
0 0
- 利用redis创建订单号
- 利用数据库函数生成不重复的订单号
- Redis--利用JAVA操作Redis
- 生成订单号
- 生成订单号
- 订单号生成
- 订单号生成
- java 订单号
- 订单号规则
- 唯一订单号
- 生成订单号
- 生成订单号
- 利用JAVA操作Redis
- 利用JAVA操作Redis
- 利用redis写webshell
- 利用JAVA操作Redis
- 利用JAVA操作Redis
- Rails利用Redis
- CSAPP第五章小结
- 数字字符串转换为字母组合的种类数 动态规划
- github一些用法
- 对话系统工程师
- 【Android】声音播放截断(骤停)的问题
- 利用redis创建订单号
- 视频编辑器-MovieMator简洁使用-功能和快速入门-创建项目、导入和导出
- 。。。
- 杨辉三角
- new和delete续
- cxf2.X开发
- 定时器信号的用法
- 傻瓜瓜子的传奇
- 1364: 向Z同学学习