首頁 CMS教程 ECShop ecshop實作後台訂單自動確認開發方法

ecshop實作後台訂單自動確認開發方法

Dec 02, 2020 pm 05:12 PM
ecshop

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 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}後面加入:

ecshop實作後台訂單自動確認開發方法

在此頁面的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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

ecshop是什麼架構 ecshop是什麼架構 Feb 23, 2023 am 09:32 AM

ecshop是「B2C」架構;ecshop是一款B2C獨立網路商店系統,適合企業及個人快速建置個人化網路商店;此系統是基於PHP語言及MYSQL資料庫架構開發的跨平台開源程式。

ecshop文章排序方法有哪些 ecshop文章排序方法有哪些 Jun 16, 2023 am 11:30 AM

ecshop文章排序方法:1、依照發佈時間排序,可以透過修改文章的發佈時間來控製文章在列表中的排列順序;2、依照點擊量排序,可以透過安裝「文章點擊排行榜」外掛程式來實現該排序功能,該插件可以統計文章的點擊量;3、按照評論數排序,可以透過安裝「文章評論排行榜」插件來實現該排序功能,該插件可以統計文章的評論數;4、按照相關度排序,可以透過安裝「搜尋排名」外掛程式來實現此排序功能。

Ecshop商品管理進階:學習如何增加字段 Ecshop商品管理進階:學習如何增加字段 Mar 12, 2024 pm 02:06 PM

Ecshop商品管理進階:學習如何增加字段,需要具體程式碼範例在使用Ecshop進行商品管理時,經常會遇到需要增加一些自訂欄位的情況,以滿足特定的需求。透過增加字段,可以實現更精確的商品管理和更好的用戶體驗。本文將介紹如何在Ecshop中增加字段,並提供具體的程式碼範例。首先,我們需要明確增加字段的需求。例如,我們需要在商品詳情頁增加一個「生產日期」字段,以

ecshop有什麼特點 ecshop有什麼特點 Feb 13, 2023 am 09:43 AM

特點:1、開源系統,具有靈活性、可自訂性和高拓展性;2、支援自主二次開發;3、豐富的模版、插件;4、產業適應能力強;5、避免被軟體商束縛; 6.更強的可靠性、穩定性;7、移動H5框架升級,基於VUE全面換代,更加靈活開放;8、多級返傭功能,支援二維碼、海報等推廣方式,無限裂變發展分銷商;8.管理端視覺互動全面煥新,UI簡潔美觀,操作體驗升級;9、支援PHP7.2,效能提升一倍。

ecshop是什麼程序 ecshop是什麼程序 Feb 16, 2023 am 10:38 AM

ECShop是B2C獨立網路商店系統,是基於PHP語言及MYSQL資料庫架構開發的跨平台開源程序,適合企業及個人快速建立個人化網路商店。 ecshop商城系統的特色:1.支援自主二次開發;2、豐富的模版、插件;3、產業適應力強;4、避免被軟體商束縛;5、更強的可靠性、穩定性。

ecshop是什麼模式 ecshop是什麼模式 Feb 22, 2023 am 09:37 AM

ecshop是B2C模式。 ECShop是B2C獨立網路商店系統,適合企業及個人快速建置個人化網路商店。 B2C是指電子商務的一種模式,也是直接面向消費者銷售產品和服務商業的零售模式;B2C電子商務的付款方式是貨到付款與網上支付相結合,而大多數企業的配送選擇物流外包方式以節約營運成本。

怎麼去掉ecshop底部版權 怎麼去掉ecshop底部版權 Aug 08, 2023 pm 02:42 PM

去掉ecshop底部版權的方法:1、修改模板文件,具體位置為:themes/your_theme目錄,在該目錄下找到footer.html文件,用文本編輯器打開,找到包含版權信息的代碼段,將其刪除或註解掉。儲存檔案並關閉即可;2、使用插件,登入後台,點擊插件管理,搜尋底部版權等相關關鍵字,選擇一個適合的插件安裝並啟用它即可;3、購買主題,在ECShop的官方網站購買等等。

ecshop怎麼取消配送方式 ecshop怎麼取消配送方式 Mar 03, 2023 am 09:56 AM

ecshop取消配送方式的方法:1、找到並開啟「flow.dwt」文件,然後刪除「<!--{if $total.real_goods_count neq 0}-->...<!-- {/if} - ->」程式碼;2、將」js/shopping_flow.js「中的」checkOrderForm(frm)「改為」if (document.getElementById(...)「即可。

See all articles