php实现自动关闭订单的方法:首先读取上次订单清理时间;然后跟当前系统时间对比,如果超过定时清理的时长,就执行清理操作;最后删除掉订单表中过期的订单即可。
推荐:《PHP视频教程》
PHP自动关闭订单 / 执行定时任务
方法一:
可以考虑在插入新订单时,触发定时清理操作.具体就是读取上次订单清理时间,然后跟当前系统时间对比,如果超过定时清理的时长(比如30分钟),就执行清理操作,删除掉订单表中过期的订单.
对于这些配置数据,可以保存在系统的配置表里,比如:
conf(conf_name, conf_value)order_last_clean_time: 1493101925
(上次订单清理时间)
order_cron_clean_time: 30分钟
(定时清理的时长)
order_expire_time: 30分钟
(超过30分钟未付款的订单视为过期)
方法二:
方案:
1;任务调度服务,加入自动执行代码来检查订单是否过期,如果过期取消;
2;linux计划任务:执行php脚本执行。原理同上
3; mysql 数据库 event 事件,每一条订单添加一个监听事件,如果支付完成事件取消。
如果没支付;按照约定的事件执行事件,取消订单;