人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      樂道系統(tǒng)FAQ      ECSHOP自動(dòng)收貨解決方案 【附代碼】

ECSHOP自動(dòng)收貨解決方案 【附代碼】

標(biāo)簽: 發(fā)布日期:2017-04-15 00:00:00 1506

  ecshop系統(tǒng),本身不帶自動(dòng)確認(rèn)收貨的,網(wǎng)上也找了一下,很多很復(fù)雜,且需要在服務(wù)器端設(shè)置定時(shí)任務(wù),如果是虛擬主機(jī),基本上就歇菜了。


  某寶有一些賣自動(dòng)收貨的插件,不太了解其機(jī)制,不過也比較貴,要1-200一個(gè)。沒辦法,就自己開發(fā)吧。以下為解決方案。


解決思路:

  跟淘寶的類似,默認(rèn)設(shè)置7天后還沒有自動(dòng)確認(rèn)收貨,那么就會(huì)系統(tǒng)強(qiáng)制確認(rèn)收貨。只不過這個(gè)強(qiáng)制確認(rèn)收貨,沒有在系統(tǒng)里設(shè)置常駐內(nèi)存的程序,也沒有設(shè)置系統(tǒng)自動(dòng)任務(wù),為變通的方案。設(shè)定為用戶在登錄成功后,進(jìn)入用戶中心頁(yè)面,就會(huì)掃描自己名下,有沒有超過7天還未確認(rèn)收貨的訂單,如果有,則啟動(dòng)確認(rèn)收貨程序。沒有,則跳過。


方案說明:

  1、這個(gè)強(qiáng)制確認(rèn)收貨,其實(shí)不是完整版的強(qiáng)制確認(rèn)收貨,不一定是到了15天系統(tǒng)就自動(dòng)確認(rèn)收貨了,而是在下一次用戶登錄的時(shí)候檢索是否有超時(shí)的訂單,所以,這個(gè)自動(dòng)確認(rèn)收貨的時(shí)間,其實(shí)不一定是準(zhǔn)確的。只不過不需要用戶再主動(dòng)點(diǎn)一下;


  2、本來有考慮到在網(wǎng)站首頁(yè)或者其他頁(yè)面嵌入一個(gè)觸發(fā)點(diǎn),然后啟動(dòng)自動(dòng)確認(rèn)收貨程序,但是考慮到,如果系統(tǒng)用戶比較多(或者訂單比較多),這個(gè)遍歷的過程可能就會(huì)比較長(zhǎng)了,系統(tǒng)開銷大,也可能頁(yè)面超時(shí),所以就弄的這個(gè)變通方案。


  3、ECSHOP有一個(gè)計(jì)劃任務(wù)的功能,但是之前沒有用過,再次優(yōu)化的方案,可以寫一個(gè)程序,然后開啟計(jì)劃任務(wù),這樣也可用滿足要求。


  所以,這個(gè)是不圓滿版的解決方案,只是修改起來比較簡(jiǎn)單,菜鳥都會(huì),另外因?yàn)槭怯脩舻卿浻|發(fā)的,所以對(duì)系統(tǒng)資源占用不高,所以,有需要的童鞋可以拿去。


搜索“if ($action == 'default')”,然后在“$info = get_user_default($user_id);”后面,插入以下代碼即可

$orders = get_user_orders($user_id,1000,0);
foreach($orders as $ord){
  if($ord['order_status_flg']==5 && $ord['order_status'] == '已確認(rèn),已付款,已發(fā)貨'){
    //此條件下的為未確認(rèn)收貨的訂單,開始啟動(dòng)自動(dòng)收貨程序
    $ord['order_time'] = strtotime($ord['order_time']);
    $thistime = time();
    if($thistime>($ord['order_time']+86400*7)){//如果訂單日期往后7天大于當(dāng)前時(shí)間  則表示有超時(shí)未確認(rèn)的訂單
    affirm_received($ord['order_id'], $user_id);//強(qiáng)制確認(rèn)收貨
    }
  }
}

程序affirm_received即為確認(rèn)收貨程序。