ecshop程序(php内核)怎么来实现 下订单后3小时不付款,自动取消订单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecshop程序(php内核)怎么来实现 下订单后3小时不付款,自动取消订单相关的知识,希望对你有一定的参考价值。
请问,ecshop程序(php内核)怎么来实现 下订单后3小时不付款,自动取消订单 这样的实现思路 求解答!目前知道的几种思路:
1) js+ajax 来触发 页面是静态的 如果关闭这个页面的话 setInterval 就不会执行 =>不可行
2) window任务 服务器是linux的
谁能提供一下思路呀!谢谢,求解答。。在线等
但是如果这段时间网站没人访问,3天后访问的话,这订单就有点坑了。。只有访问网站的时候才能触发。有没有自动触发的。。
追答难道你的网站 3天都不会有人访问 ?? 这也太吓人了吧 而且这个 可以是多方位的啊 你可以用其它网站来触发他或者 用 服务器的win的任务计划来触发他都可以啊
参考技术A 这个取消订单 无非就是让他不能支付了而已,用户操作支付的时候,php date_diff函数判断时间差,如果当前服务器时间与下单时间相差3小时以上则操作数据库将该订单状态设置为取消,支付失败且给出提示,同时,在用户查看订单列表的时候也需要执行该判断。这个逻辑与订票之类的网站都类似,就是在你提交订单后会给出提示请在XX分钟内完成支付。
你说的ajax的监控不可靠,而且很费资源,对于购物类的站点不需要这样。追问
这个还是手动去触发。。我想实现的是 让它自动来触发,去判断时间差。
追答下订单后3小时不付款,自动取消订单 ==》 这句话的意思不就是说3小时后订单就不能支付了么变成取消状态,为什么非要在3小时候就必须操作数据库? 为什么不在用户发送请求的时候判断该订单是否已超过有效期?除非你是想实现订单被取消的时候需要主动通知用户。
本回答被提问者采纳 参考技术B 这个你只能是放在后台做,放在前台,用户不大可能呆在你的网站上面3个小时不动,不退出,不关闭,放在后台,单独一个页面,批量去查询3小时内未支付的订单,然后做出相应处理。。。要是LINUX的话,能写个定时器最好了。。。。追问那意思是后台那个单独页面要一直去执行?每次执行都去数据库执行下操作?那也是不小的负担啊。。要是自动最好了。。
追答在linux下,使用php自动,就必须写意个服务器进程,然后由php来调用该进程来进行操作。。。WINDOW只能是计划任务了。。php来调用。
linux下怎么实现内核态和用户空间进程共享内存
参考技术A 简单理解为:内核空间是内核使用,用户空间是应用程序使用;除非编译内核要考虑内核空间,其余情况都可以按照用户空间处理以上是关于ecshop程序(php内核)怎么来实现 下订单后3小时不付款,自动取消订单的主要内容,如果未能解决你的问题,请参考以下文章
阿里云提示ecshop Discuz uc.key泄露导致代码注入漏洞修复