ECSHOP自动确认收货解决方案 【附代码】
ecshop系统,本身不带自动确认收货的,网上也找了一下,很多很复杂,且需要在服务器端设置定时任务,如果是虚拟主机,基本上就歇菜了。
某宝有一些卖自动收货的插件,不太了解其机制,不过也比较贵,要1-200一个。没办法,就自己开发吧。以下为解决方案。
解决思路:
跟淘宝的类似,默认设置7天后还没有自动确认收货,那么就会系统强制确认收货。只不过这个强制确认收货,没有在系统里设置常驻内存的程序,也没有设置系统自动任务,为变通的方案。设定为用户在登录成功后,进入用户中心页面,就会扫描自己名下,有没有超过7天还未确认收货的订单,如果有,则启动确认收货程序。没有,则跳过。
方案说明:
1、这个强制确认收货,其实不是完整版的强制确认收货,不一定是到了15天系统就自动确认收货了,而是在下一次用户登录的时候检索是否有超时的订单,所以,这个自动确认收货的时间,其实不一定是准确的。只不过不需要用户再主动点一下;
2、本来有考虑到在网站首页或者其他页面嵌入一个触发点,然后启动自动确认收货程序,但是考虑到,如果系统用户比较多(或者订单比较多),这个遍历的过程可能就会比较长了,系统开销大,也可能页面超时,所以就弄的这个变通方案。
3、ECSHOP有一个计划任务的功能,但是之前没有用过,再次优化的方案,可以写一个程序,然后开启计划任务,这样也可用满足要求。
所以,这个是不圆满版的解决方案,只是修改起来比较简单,菜鸟都会,另外因为是用户登录触发的,所以对系统资源占用不高,所以,有需要的童鞋可以拿去。
搜索“if ($action == 'default')”,然后在“$info = get_user_default($user_id);”后面,插入以下代码即可
1
2
3
4
5
6
7
8
9
10
11
|
$orders = get_user_orders( $user_id ,1000,0);
foreach ( $orders as $ord ){
if ( $ord [ 'order_status_flg' ]==5 && $ord [ 'order_status' ] == '已确认,已付款,已发货' ){
//此条件下的为未确认收货的订单,开始启动自动收货程序
$ord [ 'order_time' ] = strtotime ( $ord [ 'order_time' ]);
$thistime = time();
if ( $thistime >( $ord [ 'order_time' ]+86400*7)){ //如果订单日期往后7天大于当前时间 则表示有超时未确认的订单
affirm_received( $ord [ 'order_id' ], $user_id ); //强制确认收货
}
}
}
|
程序affirm_received即为确认收货程序。
文章来源:http://www.ledaokj.com/a-wlyx/176/4437.html
ECSHOP自动确认收货解决方案 【附代码】相关推荐
- php怎么点击确认收货,解决修正Ecshop的recieve.php邮件自动确认收货问题
解决修正Ecshop的recieve.php邮件自动确认收货问题 将之前的ecshop确认收货页面改成如下格式: //确认页面 $act = !empty($_REQUEST['act']) ? ra ...
- php 自动收货’_PHP实现电商订单自动确认收货redis队列
一.场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货.所谓的订单自动确认收货,就是 ...
- PHP与redis队列实现电商订单自动确认收货
一.场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货.所谓的订单自动确认收货,就是 ...
- php自动收货,如何在PHP中实现一个订单自动确认收货的redis队列
如何在PHP中实现一个订单自动确认收货的redis队列 发布时间:2020-12-14 15:45:55 来源:亿速云 阅读:65 作者:Leah 本篇文章为大家展示了如何在PHP中实现一个订单自动确 ...
- 从零开发短视频电商 30分钟未支付订单自动关闭、七天自动确认收货等延迟任务问题
文章目录 常见延迟任务 常见解决方案 主动形式 被动形式 基于Redis实现ZSet的方式.键空间通知的方式 ZSet的方式 键空间通知的方式 RocketMQ延迟消息 延迟消息级别配置 客户端发送延 ...
- 艾司博讯:拼多多没确认收货多久系统才自动确认收货
现在大多朋友对网购都不陌生,一般我们收到货后都会确认收货,然后给商品进行评价.当然,一些朋友比较忙或者没有确认收货的习惯,过了一段时间后会自动确认收货.那么拼多多确认收货期限是几天,下面就为大家带来介 ...
- 拼多多自动确认收货后还能退吗?退货申请期限是多久?
其实,在确认收货一点也不难,只需要签收后,点击确认收货按钮就行了.不过,还是有不少伙伴都了懒于去点击确认收货,这个时候系统会自动确认收货 拼多多自动确认收货后还能退吗? 1.常规商品15天内是消费者收 ...
- php 10天自动确认收货,ECSHOP修正recieve.php判断不严谨导致邮件自动确认收货
今天小编在一个技术论坛上看了这样一个求助帖,一位用ecshop建站的店长朋友反应"用户明明没有确认收货,可是会员管理里面,订单状态却显示为已经确认收货".看到这个求助帖之后,小编很 ...
- php 10天自动确认收货,修正Ecshop的recieve.php邮件自动确认收货BUG
Ecshop没有点击邮件中的确认收货链接,但是进入个人中心却发现订单状态已经更改为了已经收到货的状态了.问题出在QQ邮箱.Ecshop的recieve设计是用户点了链接直接就改变订单状态到确认收货,而 ...
- php怎么点击确认收货,Ecshop的recieve.php邮件自动确认收货BUG如何修正
今天小编在逛论坛的时候发现一个有关ecshop的BUG的帖子,现在发出来个大家分享下,如果朋友们遇到这个的问题可以作为参考修改. BUG描述如下: Ecshop没有点击邮件中的确认收货链接,但是进入个 ...
最新文章
- CVPR2021评审出来了!你的论文怎么样
- Android 让View 和 ViewGroup 同时响应点击或者长按事件
- 帆软报表调用mysql存储过程_FineReport单行与数据库交互的方法
- Oracle数据库----函数
- android自定义滤镜,【Android】自定义View那点事(三)ColorFilter篇
- mysql left join join right
- JDK源码学习笔记——Enum枚举使用及原理
- 百度SEO工作室团队介绍HTML5源码
- 无人驾驶三 卡尔曼滤波及无迹卡尔曼滤波的几何意义
- Redis分布锁原理简介和实现过程
- 11.软件架构设计:大型网站技术架构与业务架构融合之道 --- 多副本一致性
- webpack最佳入门实践系列(08)
- Snake算法知识点记录
- Machine Learning(机械学习)
- oracle EBS在中国的客户
- Adb连不上夜神模拟器的原因adb devices显示设备信息为空
- Push Pull:注意力攻击生成可迁移对抗样本
- BOM物料清单,金蝶KIS旗舰版专业版金蝶K3WISE生产管理软件ERP
- 工作岗位必备技能总结
- MATALAB绘制色图变换和Voronoi图
热门文章
- 001案例分析、常见项目管理名词
- 【VMware的坑爹之路】VMware复制文件卡死死机;无法访问网络地址“*:\“
- transformer之预训练task小析(五)
- VO、DTO、BO、DO、PO、POJO、Entity的概念、区别和应用
- 星期一到星期日的英文 缩写 读音 巧记方法
- qemu在window使用树莓派
- 如何下载并安装mysql_超详细的MySQL下载与安装教程
- MySQL之按日期查询表数据
- Visio画拓扑图随记
- Android开机速度优化 Android 开机时间优化