问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ecshop程序(php内核)怎么来实现 下订单后3小时不付款,自动取消订单

发布网友 发布时间:2022-04-06 03:31

我来回答

4个回答

懂视网 时间:2022-04-06 07:53

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 事件,每一条订单添加一个监听事件,如果支付完成事件取消。

如果没支付;按照约定的事件执行事件,取消订单;

热心网友 时间:2022-04-06 05:01

你在页脚埋一个js吧 当前台有用户访问网站的时候 都会触发这个JS 服务端 用txt文本 或这 数据库 记录一下 上次处理订单的时间 当这个js触发的时候 调用服务端的文件判断当前时间和上次时间是否有1个小时(这个可以自行设置频率 根据网站订单的量调节) 如果满足时间差了 就处理下订单表里面的 未付款订单 如果不满足 则放弃.. 这样 对服务器的压力也不是很大.... 当然 如果你还是觉得大了 就种cooke 当用户访问的时候 第一次激活js 则埋下cooke 再次触发的时候 先通过js 读取用户端的cooke 判断时间 大于某个值的时候再请求 服务端文件 否则就放弃 ....能想到的就是这么处理了追问但是如果这段时间网站没人访问,3天后访问的话,这订单就有点坑了。。只有访问网站的时候才能触发。有没有自动触发的。。

追答难道你的网站 3天都不会有人访问 ?? 这也太吓人了吧 而且这个 可以是多方位的啊 你可以用其它网站来触发他或者 用 服务器的win的任务计划来触发他都可以啊

热心网友 时间:2022-04-06 06:19

这个取消订单 无非就是让他不能支付了而已,用户操作支付的时候,php date_diff函数判断时间差,如果当前服务器时间与下单时间相差3小时以上则操作数据库将该订单状态设置为取消,支付失败且给出提示,同时,在用户查看订单列表的时候也需要执行该判断。
这个逻辑与订票之类的网站都类似,就是在你提交订单后会给出提示请在XX分钟内完成支付。

你说的ajax的监控不可靠,而且很费资源,对于购物类的站点不需要这样。追问这个还是手动去触发。。我想实现的是 让它自动来触发,去判断时间差。

追答下订单后3小时不付款,自动取消订单 ==》 这句话的意思不就是说3小时后订单就不能支付了么变成取消状态,为什么非要在3小时候就必须操作数据库? 为什么不在用户发送请求的时候判断该订单是否已超过有效期?除非你是想实现订单被取消的时候需要主动通知用户。

热心网友 时间:2022-04-06 07:53

这个你只能是放在后台做,放在前台,用户不大可能呆在你的网站上面3个小时不动,不退出,不关闭,放在后台,单独一个页面,批量去查询3小时内未支付的订单,然后做出相应处理。。。要是LINUX的话,能写个定时器最好了。。。。追问那意思是后台那个单独页面要一直去执行?每次执行都去数据库执行下操作?那也是不小的负担啊。。要是自动最好了。。

追答在linux下,使用php自动,就必须写意个服务器进程,然后由php来调用该进程来进行操作。。。WINDOW只能是计划任务了。。php来调用。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
神九返回后轨道舱分离去哪里了,是在轨道继续运行,还是不管了。天宫一... 空间站通常由对接舱、气闸舱、轨道舱、生活舱、服务舱、专用设备... 为什么不让神舟七号的轨道舱留在天上让神州八号去追? 洗衣机生产厂家 狗鱼好吃吗? 洪霞的爷爷知识很丰富,你能用哪些成语来形容他 用什么成语可以形容包罗各种各样的想法 什么万千的成语有哪些 重庆哪些考研大学 重庆师范大学考研好不好考 php怎么实现下单以后超过几个小时不付款,订单自动删除(是删除不是关闭或不让支付) PHP时间到了自动取消订单 如何使用php、html及消息队列实现订单超时自动关闭订单 有办法隐藏掉phpcms后台编辑页面的编辑器吗? php 下拉列表选择值显示文本框和隐藏文本框 php通过服务器时间date函数实时显示或者隐藏按钮 php如何隐藏表单? PHP语言中隐藏的文本框来验证表单是否提交什么意思? PHP编程中,表单隐藏域一般是什么作用? 从隐藏控件中获取值 PHP如何做到登录系统后隐藏登录按钮 php中为什么有的表单会加呃name=“hash”的隐藏域,是做什么用的?例如 asp中的隐藏控件HiddenFiled有什么用途 php为什么要隐藏入口文件index.php啊,有什么用途. HTML隐藏控件按钮是干嘛用的? php hidden 什么用 在php语言中 这个隐藏按钮有什么用 php查询mysql数据库并以excel格式输出的问题 php输出mysql中文乱码问题? PHP中MYSQL数据库乱码问题,跪求解决方案 php实现每天凌晨1点处理订单的问题 如何用php+redis做订单到时间自动完成功能 超过一小时就删除订单 php 怎么办 php订单系统 如何实现下订单后一个小时后未付款的订单自动取消 请问大家淘宝7天自动退款的功能用php怎么实现呢. php 支付宝完成交易后没有等待页面跳转就关闭页面,订单没有更新,怎么解决 U8如何设置采购订单自动关闭? php 订单系统的工作流程 如何设置sap生产订单自动关闭 PHP写订单状态。 类似支付宝订单,达到规定时间立即付款,这在php里用什么算法怎么实现? php如何实现定时操作,如:商城系统中,卖家已发货,如何实现7天后自动确认收货 用户下订单,php怎样做到后台实时提醒 php用正则表达式过滤html标签的问题 正则表达式如何过滤HTML标签中的属性值 php正则表达式过滤某些HTML标签代码 PHP,如何用正则表达式去掉HTML中链接的target? PHP正则表达式过滤HTML代码的问题 在一段html中 有下面一段代码 我怎样用php+正则表达式将其去掉 <div id=\"displaypagenum\"><p><center>