重复下单原因解析
1、客户端或页面问题:重复点击
2、网络不稳定
3、浏览器卡顿或App闪退
4、服务端冲突
5、人为原因
解决办法:
前端:
1、提交时禁用提交按钮
2、添加判断变量,提交时变量false阻止操作,为true时,正常提交,并在提交时修改该变量。
后端:
1、保证服务端幂等性
实现方式为:生成全局唯一ID(推荐雪花算法) dedup_key,如果带有指定dedup_key的订单已经存在,则直接返回;否则,用该dedup_key下单。
2、服务端必要时扫描同一用户订单,发现相同订单主动联系用户
,解决人为重复下单问题。