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模块-收货自动创建采购订 ...
随机推荐
- IO输入输出流
在Java中进行文件的读写,Java IO流是必备的知识. IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘,内存,键盘录入,网络传输等. 按处理数据类型来分:字节流和字符流. 按流的 ...
- java Graphics2D drawString()内容换行问题
//字符串总宽度 private int getStringLength(Graphics g,String str) { char[] strcha=str.toCharArray(); int s ...
- 【转】JRXlsExporter.setParameter常用参数说明
net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT 这个参数是net.sf.jasperreports.engine.Jaspe ...
- checkpoint NGFW VM安装
step1:在VMworkstation中创建虚拟机向导,选择Linux 2.6内核 64位如下图: 虚拟机的配置建议如下: RAM:至少8GB Disk:120G CPU:四核 step2:使用IO ...
- CentOS7 安装并配置MySQL8.0
安装环境 linux版本:CentOS 7.6 x64 Mysql:8.0 在CentOS中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB. MariaDB ...
- stm32输入的功能引脚功能介绍
Ⅰ.写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx).但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可 ...
- 【转载】python中not,and,or的优先级问题及用法
作业: >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and ...
- hibernate入门一
---恢复内容开始--- hibernate简介: 1.优秀的持久化(通俗讲把内存上的短时间运行信息存储在持久化硬盘上)框架. 2.作用于持久层,因为没什么侵入性,所以同样适用于其他层面上的存储 3. ...
- 5N - 考试排名
C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次错误提 ...
- Mysql运行状态查询命令及调优详解
(转载自点击打开链接) MySQL运行状态及调优(一) 一.查看MySQL运行情况SHOW STATUS; 二.查看INNODB数据库引擎运行状态SHOW ENGINE INNODB STATUS; ...