ecshop自动确认收货(无其他商家)
1.创建文件 includes/modules/auto_order_confirm.php
代码:(思路:对已经发货和已经付款的订单检索,对比发货时间与当前时间的间隔,达到设定时间则自动收货)
<?php
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
$cron_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/cron/auto_order_confirm.php';
require_once(ROOT_PATH . 'includes/lib_order.php');
if (file_exists($cron_lang)) {
global $_LANG;
include_once($cron_lang);
}
/* 模块的基本信息 */
if (isset($set_modules) && $set_modules == TRUE) {
$i = isset($modules) ? count($modules) : 0;
/* 代码 */
$modules[$i]['code'] = basename(__FILE__, '.php');
/* 描述对应的语言项 */
$modules[$i]['desc'] = 'auto_order_desc';
/* 作者 */
$modules[$i]['author'] = 'Arliki';
/* 网址 */
$modules[$i]['website'] = 'http://www.baidu.com';
/* 版本号 */
$modules[$i]['version'] = '0.0.1';
/* 配置信息 一般这一项通过serialize函数保存在cron表的中cron_config这个字段中*/
$modules[$i]['config'] = array(
array('name' => 'auto_order_days', 'type' => 'select', 'value' => 7)
);
//name:计划任务的名称,type:类型(text,textarea,select…),value:默认值
return;
}
$now_time=gmtime();
$days = !empty($cron['auto_order_days']) ? $cron['auto_order_days'] : 7;
$select_sql = 'SELECT order_id, shipping_time,shipping_status FROM '.$ecs->table('order_info').' where shipping_status=1 and pay_status=2 ';
$order_val=$db->getAll($select_sql);
if (empty($order_val)) {
return false;
}
foreach ($order_val as $key => $value) {
if ($now_time-$value['shipping_time']>=$days*24*3600) {
$order = order_info($value['order_id']);
/* 标记订单为“收货确认”,如果是货到付款,同时修改订单为已付款 */
$arr = array('shipping_status' => SS_RECEIVED);
$payment = payment_info($order['pay_id']);
if ($payment['is_cod'])
{
$arr['pay_status'] = PS_PAYED;
$order['pay_status'] = PS_PAYED;
}
update_order($value['order_id'], $arr);
/* 记录log */
order_action($order['order_sn'], $order['order_status'], SS_RECEIVED, $order['pay_status'], $_LANG['action_note']); }
}
?>
2.创建文件:languages/zh_cn/cron/auto_order_condirm.php
代码:(文字描述以及时间设定)
<?php
global $_LANG; $_LANG['auto_order_confirm'] = '自动收货';
$_LANG['auto_order_desc'] = '商家发货后一定天数自动确认收货';
$_LANG['auto_order_days'] = '最长等待时间';
$_LANG['action_note'] = '系统自动确认收货';
$_LANG['auto_order_days_range']['7'] = '7';
$_LANG['auto_order_days_range']['15'] = '15';
$_LANG['auto_order_days_range']['30'] = '30';
?>
3.如果需要,将另外两种语言的设置下即可(翻译第二个文件)。
ecshop自动确认收货(无其他商家)的更多相关文章
- PHP电商订单自动确认收货redis队列
一.场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货.所谓的订单自动确认收货,就是 ...
- HMS Core定位服务在生活服务类App中可以自动填写收货地址啦
在涉及团购.外卖.快递.家政.物流.搬家等生活服务类的App.小程序中,填写收货地址是用户高频使用的功能.这一功能通常采取让用户手动填写的解决方案,例如上下拉动选择浙江省-->杭州市--> ...
- ECSHOP自动收货解决方案 【附代码】
ecshop系统,本身不带自动确认收货的,网上也找了一下,很多很复杂,且需要在服务器端设置定时任务,如果是虚拟主机,基本上就歇菜了. 某宝有一些卖自动收货的插件,不太了解其机制,不过也比较贵,要1-2 ...
- ecshop订单-》待付款,待发货,待收货,收货确认
// 订单 待付款.待发货.待收货.确认收货 public function get_serch_order($type/*,$limit_statrt,$limit_end,$serch*/){ $ ...
- 【MM系列】SAP MM模块-MIGO收货后自动打印收货单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-MIGO收货后自动 ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- 关于web开发中订单自动超时和自动收货的简单方法(window server)
最近做一个订单自动超时和自动收货的功能,因为以前是用的mysql 存储过程和定时器来完成,这次的业务逻辑相对复杂用以前的方式就不太合适,本来是准备使用定时执行php脚本来实现的,后来发现业务逻辑中使用 ...
- 用LabVIEW实现《家国梦》游戏中自动收货收金币
前几周,很流行一个手机游戏,叫<家国梦>.我在手机上玩了一两天后,发现了两个问题: 1. 收货收金币太没意思,只需要手指滑在固定的路线,一会儿就烦了 2. 怎么追赶也追不上手快的人(当然也 ...
- 【MM系列】SAP MM模块-收货自动创建采购订单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...
随机推荐
- 计算kdj
import pandas as pd def KDJ_K(df,n=9): df['highest'] = df['high'].rolling(n).max() df['lowest' ...
- 【spring】使用spring过程中踩到的坑
这里简单记录一下,学习spring的时候碰过的异常: 异常:org.springframework.beans.factory.BeanDefinitionStoreException: Unexpe ...
- C# 自制报表组件 EzReportBuild 2.0
组件无闪烁.画面流畅,效率一般,支持SQL和ACCESS两种.可以完成报表设计.预览.打印等功能,提供接口函数,可以将设计.预览等嵌入到自定的winform中调用,使用简单.每份报表可设置多页,每页可 ...
- Vue随笔记录
一.创建Vue步骤(VS Code) 1.全局安装 npm install -g vue-cli 2.新建项目 vue init webpack "project-n ...
- Linux镜像清理日志操作
1.安全 没有其他用户 查看 ll /home下没有其他用户 2.清理日志 rm -rf /root/* rm -rf /tmp/* rm -rf /etc/udev/rules.d/persist ...
- flutter ListView简介
child: new Container( child: new Center( child: ListView( shrinkWrap:true, children: <Widget>[ ...
- PCIE错误分析
前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误.其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(S ...
- 2018-2019-2 20165315《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165315<网络对抗技术>Exp2 后门原理与实践 一.实验任务 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- Python MD5算法使用
## md5算法简介 1. **简介** MD5消息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值 ...
- Docker 日志都在哪里?怎么收集?
https://www.cnblogs.com/YatHo/p/7866029.html 日志分两类,一类是 Docker 引擎日志:另一类是 容器日志. Docker 引擎日志 Docker 引擎日 ...