亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

ecshop后臺訂單自動確認開發詳解

2024-04-25 20:38:10
字體:
來源:轉載
供稿:網友

最近的訂單比較雜,有些想過節后或者一個月后再確認訂單,于是 寫了一個插件:訂單定期自動確認。領導說:ERP抓不到未被確定的訂單。這是什么鳥的ERP系統呀。

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

<?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/cron/order_auto_confirm.php

<?php

global $_LANG;$_LANG['order_auto_confirm'] = '訂單定期自動確定';

$_LANG['order_auto_confirm_desc'] = '定期自動確定訂單';

$_LANG['order_auto_confirm_count'] = '每次處理記錄個數';

$_LANG['order_auto_confirm_count_range']['5'] = '5';

$_LANG['order_auto_confirm_count_range']['10']= '10';

$_LANG['order_auto_confirm_count_range']['15']= '15';

$_LANG['order_auto_confirm_count_range']['20']= '20';

?>

/languages/zh_cn/admin/order.php里加入:

//

$_LANG['order_auto_croned'] = '此訂單于 %s 已被確認';

$_LANG['order_auto_cron'] = '此訂單于 %s 進行定時確認';

$_LANG['order_auto'] = '<font color=red>將此訂單加入自動定時確認</font>';

$_LANG['order_auto_time'] = '自動確認時間:';

/admin/themes/order_info.htm

在:{$lang.base_info}后面加入:

{if $order.status == 0 && $order.pay_status == 0 }

<script type="text/javascript" src="../js/calendar.php?lang={$cfg_lang}"></script>

<link href="../js/calendar/calendar.css" rel="stylesheet" type="text/css" />

<div id="order_auto_cron" style="display: inline-block; width: 300px;">

{if !$cron}

<a href="javascript:;" id="ccd" onclick="document.getElementById('select_time').style.display=''; this.style.display='none';">{$lang.order_auto}</a>

<span id="select_time" style="display: none;">{$lang.order_auto_time}

<input type="text" class="button" id="order_cron_time" value="" onclick="return showCalendar('order_cron_time', '%Y-%m-%d %H:%M:%S', '24', false, 'order_cron_time');" name="order_cron_time">

<input type="button" value="保存" id="ccd_save" class="button" onclick="order_cron({$order.order_id}, 'add');">

<a href="javascript:;" onclick="document.getElementById('select_time').style.display='none'; document.getElementById('ccd').style.display='';">{$lang.op_cancel}</a></span>

{elseif $cron.order_status == 0}

{$cron.execute_time} <a href="javascript:;" onclick="if(confirm('確定要刪除定時執行任務嗎?')){order_cron({$order.order_id}, 'cancel');}else{return false;}">{$lang.op_cancel}</a>

{else $cron.order_status == 1}

{$cron.update_time}

{/if}

</div>

{/if}

在此頁面的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個文件,兩個新添加的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人高清视频观看www| 欧美日韩亚洲系列| 国产成人精品久久二区二区91| 亚洲最大成人网色| 久久亚洲综合国产精品99麻豆精品福利| 中文字幕在线精品| 中文字幕av日韩| 中文字幕日韩av综合精品| 国产专区欧美专区| 中文字幕亚洲一区二区三区五十路| 久久深夜福利免费观看| 久久97久久97精品免视看| 欧美性猛交xxxxx免费看| 亚洲视频欧美视频| 亚洲欧美综合图区| 欧美一区三区三区高中清蜜桃| 97人人模人人爽人人喊中文字| 欧美伊久线香蕉线新在线| 日韩中文字幕在线观看| 久久精品亚洲精品| 国产亚洲精品久久久久久| 欧美最顶级的aⅴ艳星| 狠狠躁夜夜躁人人躁婷婷91| 亚洲国产精品资源| 中文字幕日本欧美| 久久久这里只有精品视频| 欧美一级大胆视频| 中文字幕最新精品| 91国产视频在线| 精品久久久中文| 国产精品男人的天堂| 日韩精品一区二区视频| 国产亚洲精品日韩| 欧美成人精品在线视频| 精品国产视频在线| 97欧美精品一区二区三区| 国产日韩av在线播放| 亚洲成人黄色在线| 亚洲影影院av| 亚洲精品乱码久久久久久金桔影视| 成人免费网站在线观看| 欧美疯狂做受xxxx高潮| 国产精品久久久久久久久久久久久| 97国产一区二区精品久久呦| 日韩第一页在线| 裸体女人亚洲精品一区| 91在线观看免费网站| 日韩中文字幕亚洲| 91视频-88av| 亚洲国产精品一区二区三区| 亚洲色图在线观看| 国产亚洲视频中文字幕视频| 成人精品久久av网站| 久久91亚洲精品中文字幕奶水| 国产精品久久久久久婷婷天堂| 国产999精品久久久| 久久久久久久影视| 国产精品96久久久久久又黄又硬| 91精品国产自产在线老师啪| 亚洲网站在线播放| 日韩性xxxx爱| 欧美在线视频一区| 日韩视频免费观看| 久久久久久国产精品三级玉女聊斋| 77777少妇光屁股久久一区| 日韩av最新在线观看| 91影视免费在线观看| 性色av一区二区三区红粉影视| 精品中文字幕久久久久久| 久久精品国产2020观看福利| 日韩在线视频观看正片免费网站| 欧美激情精品久久久久久变态| 久精品免费视频| 日韩av网址在线观看| 日本三级久久久| 狠狠做深爱婷婷久久综合一区| 精品福利樱桃av导航| 日韩av在线导航| 日韩视频免费大全中文字幕| 热久久这里只有| 亚洲区免费影片| 欧美日韩成人在线观看| 国产精品9999| 久久乐国产精品| 中文字幕欧美精品日韩中文字幕| 91精品久久久久| 久久久99免费视频| 国产精品美女久久久久久免费| 久久久久久久久亚洲| 国产欧美婷婷中文| 国产性猛交xxxx免费看久久| 中文字幕日本精品| 亚洲欧美激情视频| 国产精品91免费在线| 日韩电影中文字幕在线| 2024亚洲男人天堂| 日韩中文字幕在线免费观看| 欧美激情国产高清| 国产精品高潮在线| 日韩最新中文字幕电影免费看| 欧美www视频在线观看| 欧美黑人国产人伦爽爽爽| 亚洲精品白浆高清久久久久久| 色妞在线综合亚洲欧美| 国产精品一区二区性色av| 日韩精品中文字幕在线播放| 一区二区三区国产视频| 久久影视电视剧免费网站清宫辞电视| 国产亚洲精品美女| 91精品国产综合久久香蕉| 亚洲国产精品小视频| 日韩免费高清在线观看| 91色视频在线观看| 91久久久精品| 国产69精品久久久久9999| 国产91精品久久久久久| 久久久久久一区二区三区| 国产香蕉精品视频一区二区三区| 97在线视频免费| 九九热这里只有在线精品视| 久久精品91久久久久久再现| 日韩成人在线电影网| 亚洲人成伊人成综合网久久久| 欧美电影免费观看电视剧大全| 亚洲精品中文字幕有码专区| 欧美视频13p| 91精品国产777在线观看| 国产精品一香蕉国产线看观看| 久久99精品视频一区97| 欧美精品18videos性欧美| 国产精品一区二区三区毛片淫片| 久久久免费高清电视剧观看| 九九精品在线视频| 欧美精品福利在线| 668精品在线视频| 国产精品成人国产乱一区| 777777777亚洲妇女| 国产亚洲精品久久久| 欧美视频在线看| 韩国三级日本三级少妇99| 欧美精品情趣视频| 一区二区在线视频| 精品视频www| 国产69久久精品成人看| 久久久久久久999| 国产a∨精品一区二区三区不卡| 啊v视频在线一区二区三区| 精品亚洲va在线va天堂资源站| 久久精品国亚洲| 亚洲激情在线视频| 欧美贵妇videos办公室| 欧美激情a∨在线视频播放| 青草热久免费精品视频| 精品视频在线观看日韩| 欧美精品久久久久久久| 一区二区三区国产在线观看| 亚洲国产成人精品电影| 国产精品自拍小视频| 国产69久久精品成人| 精品久久久久久中文字幕| 久久精品91久久久久久再现| 国产精品第2页| 亚洲а∨天堂久久精品喷水| 亚洲成人网在线|