php 如何实现订单限超时,并恢复库存!
各位大侠我做了个订单加付款的订单,现在付款正常,确认订单后减库存。这一部分都是正常。现在想增加个功能,就是超15分钟未付款取消订单并恢复库存的问题。我现在是两个表,一个是订单表, 一个是订单关联的购买的产品表。
本来想在订单查询页做个时间判断,但是如果一直不点订单,就不执行。查了很多资料,说法不一!望高手们给些思路。谢谢。我用的是MYSQL+php
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方式就是使用Linux定时任务,比如每分钟执行一次去查询是否存在过期的订单,如果过期就直接取消。
说一下我想到的一种方法:
用 Redis 存未确认的订单号(Set)、订单消耗的产品 ID 和对应数量(SortedSet)并设置好有效期;
查询库存的时候用产品实际库存数减去 Redis 中订单消耗的产品对应的数量;
查询订单状态时判断 Redis 上不存在而且不是已完成和待支付的都显示为已取消;
其余流程保持不变
第一次用这个。不知道发送成功没有。