ECSHOP自动确认收货解决方案 【附代码】
来源:互联网 发布:我叫阿里木电影百度云 编辑:程序博客网 时间:2024/04/27 05:08
ecshop系统,本身不带自动确认收货的,网上也找了一下,很多很复杂,且需要在服务器端设置定时任务,如果是虚拟主机,基本上就歇菜了。
某宝有一些卖自动收货的插件,不太了解其机制,不过也比较贵,要1-200一个。没办法,就自己开发吧。以下为解决方案。
解决思路:
跟淘宝的类似,默认设置7天后还没有自动确认收货,那么就会系统强制确认收货。只不过这个强制确认收货,没有在系统里设置常驻内存的程序,也没有设置系统自动任务,为变通的方案。设定为用户在登录成功后,进入用户中心页面,就会扫描自己名下,有没有超过7天还未确认收货的订单,如果有,则启动确认收货程序。没有,则跳过。
方案说明:
1、这个强制确认收货,其实不是完整版的强制确认收货,不一定是到了15天系统就自动确认收货了,而是在下一次用户登录的时候检索是否有超时的订单,所以,这个自动确认收货的时间,其实不一定是准确的。只不过不需要用户再主动点一下;
2、本来有考虑到在网站首页或者其他页面嵌入一个触发点,然后启动自动确认收货程序,但是考虑到,如果系统用户比较多(或者订单比较多),这个遍历的过程可能就会比较长了,系统开销大,也可能页面超时,所以就弄的这个变通方案。
3、ECSHOP有一个计划任务的功能,但是之前没有用过,再次优化的方案,可以写一个程序,然后开启计划任务,这样也可用满足要求。
所以,这个是不圆满版的解决方案,只是修改起来比较简单,菜鸟都会,另外因为是用户登录触发的,所以对系统资源占用不高,所以,有需要的童鞋可以拿去。
搜索“if ($action == 'default')”,然后在“$info = get_user_default($user_id);”后面,插入以下代码即可
$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自动确认收货解决方案 【附代码】
- ECSHOP订单自动确认
- ECSHOP商品订单自动确认二次开发教程
- ecshop 在确认收货时新增加商品评价并送消费积分功能
- ecshop 在确认收货时新增加商品评价并送消费积分功能
- ecshop如何去除收货信息中必填项
- 收货时自动产生PO
- 收货自动创建采购订单
- 流量充值解决方案(附代码)
- 话费充值解决方案(附代码)
- MM模块-MIGO收货后自动打印收货单
- phpfmt自动删除代码解决方案
- 批次不能自动带入收货批次
- SAP收货时自动创建采购订单
- SAP收货时自动创建采购订单
- MM模块-收货自动创建采购订单
- redis 操作电商自动收货示例
- 自动确认定时器
- 【应用实例】增强现实应用开发—3D模型、视频、音频、交互
- 在QT集成开发环境中用OpenCV读取一张图片显示在Qlabel上
- 【Unity3D_UGUI速成班】——07.Scrollbar
- 从函数的零点问题到二分法的应用
- c语言之堆区二维数组
- ECSHOP自动确认收货解决方案 【附代码】
- Implement the merge sort
- 第一次写博客
- nginx关于reload的两个错误解决方法
- 算法导论(Exercise 2.3-7)
- 利用jquery封装一个简易的旋转木马特效插件
- swustojC++测试二(0161)
- 计算机编程中常用的术语
- 理解Github工作流