怎么实现当用户超过2小时未付款,(即使用户不登陆的情况下,只要超过下单时间2小时)系统能自动取消订单。 (数据库中存储有下单时间)
坐等,先谢谢各位
------解决思路----------------------
插入订单的同时,插入个过期时间!
------解决思路----------------------
还要重置订单状态恢复库存么?需要的话那就需要自己写脚本去跑比较实在点,检测当前时间与过期时间,看有木有过期,过期了就执行取消订单。
------解决思路----------------------
判断超过2小时
这个动作就需要每隔N分钟遍历一次,且不谈实现难度,对系统资源占用也比较大
其实完全没必要准时更新状态,只在有人查看的时候偷偷检测一下就OK
订单生成时记录时间,和一个初始状态=0,读取订单列表时遍历,如果状态=0就对比时间,超过2小时修改状态
------解决思路----------------------
update 订单表 set 订单状态='取消' where DATE_SUB(now(), INTERVAL 2 HOUR) > 下单时间