php – 避免电子商务场景中的竞争条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 避免电子商务场景中的竞争条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1329字,纯文字阅读大概需要2分钟。
内容图文
![php – 避免电子商务场景中的竞争条件](/upload/InfoBanner/zyjiaocheng/769/eedccbd0813a466ea98b674eb5dbcd31.jpg)
我的客户有一个销售电子产品的电子商务网站,并且有些情况下产品的销售次数超过了他们库存的次数.这是因为如果两个用户在库存中只剩下一个产品的同时购买产品,则一个会话在另一个会话开始之前没有完成将产品注销为售完(所以它继续正常,认为有一个左)即使在过程开始时有一个检查.这显然会花钱(退款费,退款等)和消费者的不便.
所以我想知道是否还有解决这个问题?我想在流程开始时创建一个“标记”,即它会检查库存,如果售罄,它会标记产品,从而阻止其他会话购买.但这也会产生更多问题:如果客户端发生某些事情会导致他们取消中间过程(断电等),那么即使产品被标记为已售出,但自结账以来它实际上并未售出过程没有完成.如果这种情况持续发生,那么产品就会积压.其次,会话还可以检查库存,而另一个会话将其标记为已售出,因此即使第二个会话已经购买,第一个会话也将继续.这导致我们回到原来的问题.
我在数据库端查看表锁定,但我不确定这是不是最好的主意.任何建议都将受到高度赞赏!
谢谢,
dyip
解决方法:
你可以有一个故障保险,以便在用户结账时下订单,但是在订单发货之前,用户的信用卡实际上并未收费.然后,对于库存已用完的情况,您可以通过电子邮件向这些客户发送电子邮件并告诉他们“抱歉,我们已售罄X,您不会被收费等”.
你可以给他们下一个订单的折扣作为补偿,但这个过程将避免任何退款费用,退款等,因为他们从未实际收取没有库存的订单.
当然,听起来这会改变网站处理订单的方式,并且在每个订单准备好之后,必须让某人将信息输入系统.此外,在下订单之前,您需要对卡进行一些验证才能知道它是有效的,以防止欺诈 – 尽管可能是网站已经这样做了?
内容总结
以上是互联网集市为您收集整理的php – 避免电子商务场景中的竞争条件全部内容,希望文章能够帮你解决php – 避免电子商务场景中的竞争条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。