如何使用php、html及消息队列实现订单超时自动关闭订单

如何使用php、html及消息队列实现订单超时自动关闭订单,第1张

从php脚本方面解决的话,那举尘首就是每分钟用ajax请求一次php脚本,检查订单状态和当前时间,30分钟后检查到兄搜订单无异,测php更新订单到关闭状态,这个地方需要用到setTimeout了,循环执行正数请求,但是缺点是页面必能关闭,关闭了js就不执行,所以这个方法不太可取,30分钟时间太长,不可能不进行其他页面行为。

使用Mysql 定时计划任务(推荐你使用),语法体

create event myevent

on schedule at current_timestamp + interval 1 hour (周期或者时间点)

do

update myschema.mytable set mycol = mycol + 1     (执行的sql

详细使用可以参考:https://segmentfault.com/a/1190000005142597,很清楚

首先要建立单据间的关联关老桐系,销售订单的自动关闭通常是由销售出库单实现的,即订单销售出库后,该订单为关闭状态,和发票无关。主要注意有3点,第一,制作销售订单时,是否有关联销售订物含并单(或由销售订单下推生成);第二,库存变更方式是审核后更新还是保存后更新,如果是审核后更新,那么销售出库单必须审核后,订单才算完成;第三,订单上的所罩迹有行,是否全部完成,订单自动关闭须订单内所有行全部完成,假如只是部分完成,那么订单只有行关闭。

要实现这个功能,首先是要看你对库存的要求是什么,分为两种情况:

1. 需要在客户未付款的30分钟内准时关闭订单,并及时腾出库存:

这种情况,服务器设定一个计划任务,设定指定的时间定时计算下了订单客户未付款的时间,如果有客户未付款时间超出30分钟,则执行关闭订单的动作。

2. 只要客户超过30分钟没付款,他就不能再付款,什么时候腾出库存都无所谓:

也可以用第一种的方法,但定时处理的时间跨度可以设定长一点,减少服世嫌银务器的压力。也可以把这个动作放到网站其他用户浏览时做,不用服务器设定计划任务。

希望我的回答能帮助,满意请采纳,谢谢!

如有问题可以找我(用户名去掉“_”者源,换成"."就可以找到搜宴我^_^)。

原创答案,转载请注明出处。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12257019.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存