如何防止订单重复提交

背景

在做电商系统中,如何防止用户在提交订单的时候,后端生成两笔订单呢?因为订单号是后端生成的,所以数据库的唯一索引还起不到作用。

方案

看了网上很多人说的,方案很多,下面来说说自己的想法。

1.用户每次进入提交订单页面的时候,调用发号器接口,在提交订单页面生成唯一的序号
2.用户提交订单的时候,传递该序号,然后后端通过redis的原子方法++,做判断,如何大于2,则代表请求重复,对该请求不做处理即可。
3.这样就可以防止用户重复提交订单。
4.并且整个流程中,不是很影响性能。

有其他好的方案,欢迎讨论

发布了372 篇原创文章 · 获赞 349 · 访问量 94万+

猜你喜欢

转载自blog.csdn.net/ZHOUCHAOQIANG/article/details/97956660