详解ecshop后台订单自动确认开发
ecshop栏目介绍ecshop后台订单自动确认开发
推荐(免费):ecshop
CREATE TABLE `order_auto_confirm` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_sn` VARCHAR(20) NOT NULL, `execute_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0未确定,1已经确定', `addtime` INT(10) UNSIGNED NOT NULL DEFAULT '0', `update_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE INDEX `order_id` (`order_id`), INDEX `execute_time` (`execute_time`) ) COMMENT='订单定期自动确定' COLLATE='utf8_general_ci' ENGINE=MyISAM;
一、
/admin/order.php加入以下代码:
elseif($_REQUEST['act'] == 'order_cron') { $act1 = empty($_POST['act1']) ? 0 : $_POST['act1']; if(empty($act1) || !in_array($act1, array('add', 'cancel'))) make_json_response('', -1, '未知请求act1'); $order_id = intval($_POST['order_id']); $order = order_info($order_id); if(empty($order)) make_json_response('', -2, '没有此订单ID'); if($order['order_status']) make_json_response('', -3, '此订单已经确认,不用自动确认'); if($order['pay_status']) make_json_response('', -4, '此订单支付状态已经变动,无法添加任务'); if($act1 == 'add'){ $order_cron_time = empty($_POST['order_cron_time']) ? 0 : $_POST['order_cron_time']; if(empty($order_cron_time)) make_json_response('', -10, '请求的时间错误'); $sql = 'select order_id from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id; $rs = $db->getRow($sql); if($rs['order_id'] == $order_id){ make_json_response('', -30, '此订单任务已经存在,不能重复添加'); } $execute_time = local_strtotime($order_cron_time); $sql = "insert into ".$ecs->table('order_auto_confirm')."(order_id, order_sn, execute_time, order_status, addtime) values(".$order_id.",'".$order['order_sn']."',".$execute_time.", 0, ".local_gettime().")"; $result = $db->query($sql); if($result){ make_json_response('', 0, ''); } make_json_response('', -9, '添加任务计划失败'); }elseif($act1 == 'cancel'){ $sql = 'delete from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id.' and order_status=0 '; $db->query($sql); make_json_response('', 0, ''); } }
二、
在elseif($_REQUEST['act'] == 'info')里加入:
//取自动确定订单信息 $sql = 'select order_status, execute_time, addtime, update_time from '.$ecs->table('order_auto_confirm').' where order_id='.$order['order_id']; $cron= $db->getRow($sql); if(!empty($cron)){ if($cron['order_status'] == 1) $cron['update_time'] = sprintf($_LANG['order_auto_croned'], local_date('Y-m-d H:i:s', $cron['update_time'])); else $cron['execute_time']= sprintf($_LANG['order_auto_cron'], local_date('Y-m-d H:i:s', $cron['execute_time'])); } $smarty->assign('cron', $cron);
三、
/includes/modules/cron/order_auto_confirm.php
if (!defined('IN_ECS')) { die('Hacking attempt'); } require_once(ROOT_PATH . 'includes/lib_order.php'); $cron_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/cron/order_auto_confirm.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'] = 'order_auto_confirm_desc'; /* 作者 */ $modules[$i]['author'] = 'wjzhhr'; /* 网址 */ $modules[$i]['website'] = 'http://www.wodeqingchun.com'; /* 版本号 */ $modules[$i]['version'] = '1.0.0'; /* 配置信息 */ $modules[$i]['config'] = array( array('name' => 'order_auto_confirm_count', 'type' => 'select', 'value' => '10'), ); return; } $time = gmtime(); //$time = local_gettime(); $limit = empty($cron['order_auto_confirm_count']) ? 5 : $cron['order_auto_confirm_count']; $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_auto_confirm') . " WHERE execute_time <= ".$time." and order_status=0 LIMIT $limit"; $autodb= $db->getAll($sql); $i = 0; foreach ($autodb as $key => $val) { $order_id = $val['order_id']; $order_sn = $val['order_sn']; /* 标记订单为已确认 */ $update_status = update_order($order_id, array('order_status' => OS_CONFIRMED, 'confirm_time' => gmtime())); update_order_amount($order_id); /* 记录log */ $action_note = "计划任务:定期自动确定订单,订单号:".$order_sn.",执行状态:".($update_status ? '成功' : '失败'); order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note, 'system_cron'); /* 如果原来状态不是“未确认”,且使用库存,且下订单时减库存,则减少库存 */ if ($val['order_status'] != OS_UNCONFIRMED && $_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, true, SDT_PLACE); } if($update_status) { $i += 1; $sql = "update " . $GLOBALS['ecs']->table('order_auto_confirm') . " set order_status=1, update_time=".$time." where order_id=".$order_id; $db->query($sql); } }$string = '此次共更新:'.$i.'条数据'; echo $string;file_put_contents('./a.txt', $time . '----' . date('Y-m-d H:i:s').$string."\r\n", FILE_APPEND); /** * 更新订单总金额 * @param int $order_id 订单id * @return bool //zuimoban.com */ function update_order_amount($order_id) { include_once(ROOT_PATH . 'includes/lib_order.php'); //更新订单总金额 $sql = "UPDATE " . $GLOBALS['ecs']->table('order_info') . " SET order_amount = " . order_due_field() . " WHERE order_id = '$order_id' LIMIT 1"; return $GLOBALS['db']->query($sql); } ?>
四、
/languages/zh_cn/admin/order.php里加入:
$_LANG['order_auto_croned'] = '此订单于 %s 已被确认'; $_LANG['order_auto_cron'] = '此订单于 %s 进行定时确认'; $_LANG['order_auto'] = '将此订单加入自动定时确认'; $_LANG['order_auto_time'] = '自动确认时间:';
五、
/admin/themes/order_info.htm在:{$lang.base_info}后面加入:
在此页面的JS里面加入:
function order_cron(order_id, act){ var order_cron_time = 0; if(act == 'add'){ order_cron_time = document.getElementById('order_cron_time').value; if(!order_cron_time){ alert('无法获取时间'); return false; } } Ajax.call('order.php?act=order_cron', 'order_id=' + order_id + '&act1=' + act + '&order_cron_time=' + order_cron_time, order_cron_response, 'POST', 'JSON');}function order_cron_response(res){ if (res.error == 0) { alert('保存成功'); } else { alert(res.message); } return false;}
还有/themes/default/footer.dwt里是否含有:{insert name='query_info'}
这一句,比较重要,前人把这句去掉了,害最模板到处找原因。共涉及5个文件,两个新添加的
以上是详解ecshop后台订单自动确认开发的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

ecshop是“B2C”构架;ecshop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店;该系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。

ecshop文章排序方法:1、按照发布时间排序,可以通过修改文章的发布时间来控制文章在列表中的排列顺序;2、按照点击量排序,可以通过安装“文章点击排行榜”插件来实现该排序功能,该插件可以统计文章的点击量;3、按照评论数排序,可以通过安装“文章评论排行榜”插件来实现该排序功能,该插件可以统计文章的评论数;4、按照相关度排序,可以通过安装“搜索排名”插件来实现该排序功能。

Ecshop商品管理进阶:学习如何增加字段,需要具体代码示例在使用Ecshop进行商品管理时,经常会遇到需要增加一些自定义字段的情况,以满足特定的需求。通过增加字段,可以实现更加精确的商品管理和更好的用户体验。本文将介绍如何在Ecshop中增加字段,并提供具体的代码示例。首先,我们需要明确增加字段的需求。例如,我们需要在商品详情页增加一个“生产日期”字段,以

特点:1、开源系统,具有灵活性、可定制性和高拓展性;2、支持自主二次开发;3、丰富的模版、插件;4、行业适应能力强;5、避免被软件商束缚;6、更强的可靠性、稳定性;7、移动H5框架升级,基于VUE全面换代,更加灵活开放;8、多级返佣功能,支持二维码、海报等推广方式,无限裂变发展分销商;8、管理端视觉交互全面焕新,UI简洁美观,操作体验升级;9、支持PHP7.2,性能提升一倍。

ECShop是一款B2C独立网店系统,是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序,适合企业及个人快速构建个性化网上商店。ecshop商城系统的特点:1、支持自主二次开发;2、丰富的模版、插件;3、行业适应能力强;4、避免被软件商束缚;5、更强的可靠性、稳定性。

ecshop是B2C模式。ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。B2C是指电子商务的一种模式,也是直接面向消费者销售产品和服务商业的零售模式;B2C电子商务的付款方式是货到付款与网上支付相结合,而大多数企业的配送选择物流外包方式以节约运营成本。

去掉ecshop底部版权的方法:1、修改模板文件,具体位置为:themes/your_theme目录,在该目录下找到footer.html文件,用文本编辑器打开,找到包含版权信息的代码段,将其删除或注释掉。保存文件并关闭即可;2、使用插件,登录后台,点击插件管理,搜索底部版权等相关关键词,选择一个适合的插件安装并启用它即可;3、购买主题,在ECShop的官方网站购买等等。

ecshop的功能有:1、商品管理;2、促销管理;3、订单管理;4、广告管理;5、报表统计;6、文章管理;7、会员管理;8、权限管理;9、系统设置;10、模板管理;11、数据库管理;12、短信管理等。
