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模块-收货自动创建采购订 ...
随机推荐
- winform UI 设计方法
这里主要提供了一种设计思路,你可以将成套的UI图像添加或替换到本程序中.在设计过程中,还存在许多疏漏,懒得仔细修改了,在使用过程中自行修改添加.这里的函数基本上都可以单独使用,需要哪个将cs文件加入到 ...
- Jboss项目部署出现java.lang.UnsupportedClassVersionError 问题的解决方法
出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误. 解决 ...
- checkpoint NGFW VM安装
step1:在VMworkstation中创建虚拟机向导,选择Linux 2.6内核 64位如下图: 虚拟机的配置建议如下: RAM:至少8GB Disk:120G CPU:四核 step2:使用IO ...
- ISE初始化
step1:输入setup进行初始化,如下图: step2:输入setup进行初始化,如下图:
- 毕设之iframe跳转子页面问题
我的Django项目中的index.html分为三个层次,head.body.footer.其中body细分为left和right两部分,right的地图是使用iframe嵌入的map.html页面, ...
- iOS相关的ARM汇编
一.iOS汇编1.真机:arm64汇编寄存器指令 堆栈2.模拟器:x86汇编 二.lldb (lldb)register read x0 (lldb)register read w0 (lldb)re ...
- CSS中的字体描边
兴趣使然,突然看见网上的一些带有描边的字体,觉得有点意思,便尝试去做了下 不是什么很厉害的技巧,当然也有参考张鑫旭大神写的文章 只能感叹,css的世界还很大,很广阔 直入主题: 对于文字的描边,一般都 ...
- Echart遇到的问题:tooltip提示框大小异常
将Echart图表放到项目中,发现当鼠标放到柱状图上时,提示框显示大小超出了div的大小. 官方的文档对于tooltip的说明也没有指出:如何修改大小. 那么tooltip是什么呢? fn+f12打开 ...
- Vue中 $ref 的用法
说明:vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素)使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取注意:如果获取的是一个子组 ...
- V2019 Super DSP3 Odometer Correction Vehicle List
Comparing v2017 Super DSP3 mileage programmer, the newest V2019 Super DSP III adds newer vehicles, i ...