电商系统中常见的9大坑!库存超卖、重复下单、物流单ABA...

2022-05-23 15:49:43 浏览数 (1)

一、避免重复下单

用户快速点了两次 “提交订单” 按钮,浏览器会向后端发送两条创建订单的请求,最终会创建两条一模一样的订单。

解决方案:

解决方案就是采用幂等机制,多次请求和一次请求产生的效果是一样的。

方案一:

利用数据库自身特性 “主键唯一约束”,在插入订单记录时,带上主键值,如果订单重复,记录插入会失败。

操作过程:

  • 引入一个服务,用于生成一个“全局唯一的订单号”
  • 进入创建订单页面时,前端请求该服务,预生成订单ID
  • 提交订单时,请求参数除了业务参数外,还要带上这个预生成订单ID

0 人点赞