今天在做项目的时候发现了这个问题,在我下单的时候,我是采用获取年月日时分秒的方式来生成订单编号,但是这种方式行不通,如果一秒钟有多个人下单的话,直接就会爆掉,比如:淘宝双十一,凌晨12点限量抢购1000件商品,直到抢完为止,那么就可定不可避免一秒钟下多个订单,所以我的解决办法是:

在你生成订单编号的工具类中定义一个静态变量

  private static int autoInt = 1;

在你生成订单编号的位置将 autoInt 加 1 再拼接到订单编号的末尾 ,这样的话,你每调用一次生成订单编号,就会加 1

 // 生成不重复的订单编号public static String getOrder() {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmSS");Date date = new Date();autoInt++;String s = simpleDateFormat.format(date) + autoInt;System.out.println("订单编号为:"+s);return s;}

比如我本来的订单编号是:20211119180797
调用了这个方法后就变成了 202111191807972
再次调用就变成了 202111191807973,以此类推

以上方法是我想到的不用去对数据库进行操作的方法,本人使用 mysql 数据库,你也可以使用其他方法如**主键自增序列**,这个对于 mysql 比较难弄,对于 oracle 比较容易。

这里再说一下, java 静态变量,在服务器重新启动的时候就会恢复默认值,这个不用担心,因为,我们的时间戳是不断变化的,所以即使恢复到 1 也不会重复

Android --- 订单编号怎样不重复?一秒钟如果有n个人同时下单怎么解决?凌晨12点限量抢购1000件商品,直到抢完为止订单编号怎么处理?相关推荐

  1. 【JAVA EE#6】【传智书城·源码阅读】后台管理模块:权限控制+页面分析+商品管理+销售榜单+订单管理+公告管理+项目结构思维导图

    权限控制 普通用户只能访问client文件夹下面的jsp文件,对于没有权限操作的admin文件夹就会提示错误,而超级用户同时可以访问两者,一直很好奇这个权限限制怎么实现的. 原来在存在一个AdminP ...

  2. 1532. 最近的三笔订单 1543. 产品名称格式修复 1549. 每件商品的最新订单 1555. 银行账户概要

    union 去重(重复数据不在添加) union all 不去重 trim(str) ->将str字符中的 首尾 空格去掉 date_format(date,'%Y-%m') 函数用于以不同的格 ...

  3. SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理

    SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理 SAP系统中,如果某个商品采用移动平均价,则一般而言,采购订单和发票上的价格差异,不会计入价差科目里,当然前提是库存数量大于发票上的数量 ...

  4. 快递下单后取消订单_网约车定位地点不动,男子别的平台下单,没取消订单要付6.6元...

    众所周知,在平台上网约车的时候,要是超出一定时间放鸽子,通常都是要扣除乘客部分钱,反之是司机取消了订单,平台同样会给司机处罚,在路程近的单子上,有些司机是接了后就不想跑,但是也不想取消订单被降权,有时 ...

  5. android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...

    使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...

  6. 企业网上下单订货管理软件源码搭建功能介绍|移讯云订货通订单管理系统

    网上下单订货管理软件源码搭建功能介绍|移讯云订货通订单管理系统 一:系统概述和用途 系统基于网络,实现厂家和代理商批发商通过网络下单订货功能. 什么是移讯云订货通.什么是企业订货管理系统. 是一款针对 ...

  7. 【已解决】Word转换PDF时自动更新域导致图片表格的引用编号全部乱掉

    问题背景 最近在排版毕业设计,因为有很多图片和表格,为了省事,直接在文中引用图片,表格,就不用编号了,(这个时候文章的一级标题是'第1章'),但是学校要求一级标题的格式为"第一章" ...

  8. maxlength不起作用android,Android EditText设置Filter以后(xml布局文件中maxLength不起作用的解决办法)...

    Android EditText设置Filter以后,xml布局文件中maxLength不起作用的解决办法 问题发现 最近项目里有个需求,文本框禁用emoji表情的输入,因为用到的地方较多,第一个想到 ...

  9. Android调用系统群发短信,vivo部分手机弹出“无效的地址”解决方法

    Android调用系统群发短信,vivo部分手机弹出"无效的地址"解决方法 第一次写文章,来试试水 之前项目中有一个需求是获取通讯录联系人信息,并展示出来,然后可以选择一个或者多个 ...

最新文章

  1. XDP/eBPF — 架构设计
  2. 信息安全技术 网络安全事件应急演练指南_省局举办网络安全培训讲座
  3. Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值...
  4. php作业90,php中文网移动端-第九期(191107作业)
  5. layuiadmin上手好难_新手如何快速上手自媒体赚钱?送你4个好建议!记得收藏
  6. Gcc详解以及静态库、动态库生成
  7. Windows10 + WSL (Ubuntu) + Anaconda + vscode 手把手配置python运行环境(含虚拟环境)
  8. commons-lang3:DateUtils
  9. c语言实现http服务器_基于postman实现http接口测试过程解析_服务器其它
  10. 通过JCONSOLE监控TOMCAT的JVM使用情况
  11. (转)Vsdocman7.2 注册版
  12. asset文件夹路径 unity_Unity3D研究院之手游开发中所有特殊的文件夹
  13. matlab在同一窗口中画多个三维图像
  14. Android Killer反编译apk报错
  15. java线性方程组求解_java解线性方程组
  16. html中改变图标颜色,使用CSS更改图标的颜色
  17. ue字符编码_用ultraedit实现编码转换
  18. 人一生中要学会说的十种话
  19. 2011年国外最受欢迎的15个电影网站
  20. 阿里云产品试用更新,产品组合试用装更划算,快来免费上云吧

热门文章

  1. 数字证书KeyTool使用(第二篇)
  2. 周跃教授:脊柱微创手术机器人在脊柱手术中的应用前景 (转载)
  3. C#使用StreamReader类读取汉字
  4. 【Linux学习记录】Linux磁盘与文件系统管理
  5. RTEMS 的 AT91SAM9260 移植(5): 调试串口驱动
  6. 创建本地yum源的方法
  7. 让 windows 的桌面 干净。。。再干净点。。。
  8. 用PQ的Windows版完成分区的一些调整工作
  9. 使用OpenCV 实现matlab的padarray(A, padsize, ‘symmetric’)函数简单实现
  10. indows 平台下 Go 语言的安装和环境变量设置