如何防止订单重复提交

Posted LuckyZhouStar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止订单重复提交相关的知识,希望对你有一定的参考价值。

背景

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

方案

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

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

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

以上是关于如何防止订单重复提交的主要内容,如果未能解决你的问题,请参考以下文章

PHP 怎么防止GET方式提交重复数据?

服务端如何防止订单重复支付!

如何防止用户重复提交数据

在winform当中提交数据,如何防止重复提交?

防止提交重复订单的方法

后端怎样防止重复提交订单?