在用户购买支付的时候,没有支付成功,怎么记录他的小时,然后多长时间之后自动在判断是否支付,这个的定时在哪里显示,php应该怎么实现呢?
前端:可以用redis的hash存未支付的订单(需要一个定时任务持久化未支付订单列表以防redis故障数据丢失),当用户查看待支付或者购物车时可以以触发一个查询操作,去redis查询到订单下单但是未支付的时间与当前时间比较超过就清除订单;
后端:在存订单的hash列的时候存一个订单的list,起一个定时任务隔段时间去redis列中去清除订单,
15 回答8.2k 阅读
4 回答4.5k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
1、订单表多预留几个字段,或者扩展一张订单状态更新表,用以记录各环节发生的时间
2、服务器定时任务,轮询数据库,根据订单状态(待支付、已支付、已发货 …)操作后面动作