バージョン選択

フォーラム

メニュー

オンライン状況

63 人のユーザが現在オンラインです。 (49 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 63
もっと...

サイト内検索

質問 > その他 > ポイント付与のタイミングについて

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
x41
投稿日時: 2008/3/17 23:34
対応状況: −−−
仙人
登録日: 2007/11/23
居住地:
投稿: 308
Re: ポイント付与のタイミングについて
本番環境にて問題なく動作しました。しかし、初歩的なミスをしていました。お客様が注文後、ステータスを発送済みにする前に同じお客様が追加の注文があった場合、1回目のポイントが加算されないことがわかり訂正しました。また、発送済みにした時だけポイント付与されるようにしました。


LC_Page_Shopping_Complete.phpを変更。

引用:

/* 購入情報を会員テーブルに登録する */
function lfSetCustomerPurchase($customer_id, $arrData, &$objQuery) {
$col = "first_buy_date, last_buy_date, buy_times, buy_total, point";
$where = "customer_id = ?";
$arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id));
$sqlval = $arrRet[0];

if($sqlval['first_buy_date'] == "") {
$sqlval['first_buy_date'] = "Now()";
}
$sqlval['last_buy_date'] = "Now()";
$sqlval['buy_times']++;
$sqlval['buy_total']+= $arrData['total'];
$sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']);


// ポイントが不足している場合
if($sqlval['point'] < 0) {
$objQuery->rollback();
SC_Utils_Ex::sfDispSiteError(LACK_POINT);
}

$objQuery->update("dtb_customer", $sqlval, $where, array($customer_id));
}


上記を下記に変更。

引用:

/* 購入情報を会員テーブルに登録する */
function lfSetCustomerPurchase($customer_id, $arrData, &$objQuery) {
$col = "first_buy_date, last_buy_date, buy_times, buy_total, point, total_point";
$where = "customer_id = ?";
$arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id));
$sqlval = $arrRet[0];

if($sqlval['first_buy_date'] == "") {
$sqlval['first_buy_date'] = "Now()";
}
$sqlval['last_buy_date'] = "Now()";
$sqlval['buy_times']++;
$sqlval['buy_total']+= $arrData['total'];
if ( $sqlval['total_point'] != $sqlval['point'] ) {
$sqlval_tmp['point'] = $sqlval['total_point'];
$sqlval['total_point'] = ($sqlval_tmp['point'] + $arrData['add_point'] - $arrData['use_point']);
$sqlval['point'] = ($sqlval['point'] - $arrData['use_point']);
} else {
$sqlval['total_point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']);
$sqlval['point'] = ($sqlval['point'] - $arrData['use_point']);
}

// ポイントが不足している場合
if($sqlval['point'] < 0) {
$objQuery->rollback();
SC_Utils_Ex::sfDispSiteError(LACK_POINT);
}

$objQuery->update("dtb_customer", $sqlval, $where, array($customer_id));
}



LC_Page_Admin_Order_Status.phpを変更。

引用:

//ステータス情報の更新(削除)
function lfStatusMove($status_id, $arrMove){
$objQuery = new SC_Query();
$masterData = new SC_DB_MasterData_Ex();
$arrORDERSTATUS = $masterData->getMasterData("mtb_order_status");

$table = 'dtb_order';
$where = 'order_id = ?';
$arrUpdate = array('update_date' => 'NOW()');

$delflg = '1'; // 削除フラグ
$message = ''; // ステータス変更後にポップアップするメッセージの内容

if ( $status_id == 'delete' ) {
$arrUpdate['del_flg'] = $delflg;
$message = '削除';
}
// ステータスが発送済みの時は発送日を更新
elseif ( $status_id == ORDER_DELIV ) {
$arrUpdate['status'] = $status_id;
$arrUpdate['commit_date'] = 'NOW()';
$message = $arrORDERSTATUS[$status_id] . 'へ移動';
}
else {
$arrUpdate['status'] = $status_id;
$message = $arrORDERSTATUS[$status_id] . 'へ移動';
}

if ( isset($arrMove) ){
foreach ( $arrMove as $val ){
if ( $val != "" ) {
$objQuery->update($table, $arrUpdate, $where, array($val));
}

}
}

$this->tpl_onload = "window.alert('選択項目を" . $message . "しました。');";
}



上記を下記に変更。

引用:

//ステータス情報の更新(削除)
function lfStatusMove($status_id, $arrMove){
$objQuery = new SC_Query();
$masterData = new SC_DB_MasterData_Ex();
$arrORDERSTATUS = $masterData->getMasterData("mtb_order_status");

$table = 'dtb_order';
$where = 'order_id = ?';
$arrUpdate = array('update_date' => 'NOW()');

$delflg = '1'; // 削除フラグ
$message = ''; // ステータス変更後にポップアップするメッセージの内容

if ( $status_id == 'delete' ) {
$arrUpdate['del_flg'] = $delflg;
$message = '削除';
}
// ステータスが発送済みの時は発送日を更新
elseif ( $status_id == ORDER_DELIV ) {
$arrUpdate['status'] = $status_id;
$arrUpdate['commit_date'] = 'NOW()';

$message = $arrORDERSTATUS[$status_id] . 'へ移動';
}
else {
$arrUpdate['status'] = $status_id;
$message = $arrORDERSTATUS[$status_id] . 'へ移動';
}

if ( isset($arrMove) ){
foreach ( $arrMove as $val ){
if ( $val != "" ) {
if ( $status_id == ORDER_DELIV ) {
$arrRet = $objQuery->select("customer_id", $table, $where, array($val));

$customer_id = $arrRet[0]['customer_id'];
if($customer_id != "" && $customer_id >= 1) {
$arrRet = $objQuery->select('total_point', 'dtb_customer', 'customer_id = ?', array($customer_id));
$sqlval['point'] = $arrRet[0]['total_point'];
$objQuery->update('dtb_customer', $sqlval, 'customer_id = ?', array($customer_id));
}
}
$objQuery->update($table, $arrUpdate, $where, array($val));
}

}
}

$this->tpl_onload = "window.alert('選択項目を" . $message . "しました。');";
}



ステータスの変更は1件でも、まとめてでもポイント付与できます。
ステータス変更前に注文分の中の商品がキャンセルもしくは全部キャンセルが発生した場合、dtb_customerのtotal_pointを表示させ変更させる必要があるので明日訂正してみます。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   ポイント付与のタイミングについて ikamaru 2007/10/11 10:34
     Re: ポイント付与のタイミングについて ゲスト 2007/10/29 18:21
       Re: ポイント付与のタイミングについて x41 2007/12/4 14:33
         Re: ポイント付与のタイミングについて ゲスト 2007/12/9 1:51
           Re: ポイント付与のタイミングについて ゲスト 2007/12/11 20:43
             Re: ポイント付与のタイミングについて ゲスト 2007/12/12 11:07
               Re: ポイント付与のタイミングについて ゲスト 2007/12/12 11:21
                 Re: ポイント付与のタイミングについて nanasess 2007/12/13 1:29
                   Re: ポイント付与のタイミングについて rise 2007/12/14 1:20
                     Re: ポイント付与のタイミングについて x41 2008/2/15 18:30
                       Re: ポイント付与のタイミングについて x41 2008/3/17 0:37
                       » Re: ポイント付与のタイミングについて x41 2008/3/17 23:34
                           Re: ポイント付与のタイミングについて x41 2008/3/20 22:21
                             Re: ポイント付与のタイミングについて ゲスト 2008/3/21 0:10
                             Re: ポイント付与のタイミングについて ゲスト 2008/5/31 17:59
                               Re: ポイント付与のタイミングについて ゲスト 2008/6/1 17:27
                                 Re: ポイント付与のタイミングについて ゲスト 2008/6/1 17:29
                               Re: ポイント付与のタイミングについて x41 2008/6/2 20:53
                                 Re: ポイント付与のタイミングについて ゲスト 2008/6/3 16:53
                                   Re: ポイント付与のタイミングについて ゲスト 2008/6/11 12:29
                                     Re: ポイント付与のタイミングについて x41 2008/6/11 22:04
                                       Re: ポイント付与のタイミングについて ゲスト 2008/6/13 1:11
                                         Re: ポイント付与のタイミングについて seasoft 2008/6/14 2:57
                                     Re: ポイント付与のタイミングについて x41 2008/6/22 11:49
                                       Re: ポイント付与のタイミングについて x41 2008/6/22 23:54
                                         Re: ポイント付与のタイミングについて seasoft 2008/6/23 0:28
                                           Re: ポイント付与のタイミングについて seasoft 2008/7/17 21:45
                                             Re: ポイント付与のタイミングについて x41 2008/7/17 23:22
                                           Re: ポイント付与のタイミングについて x41 2008/7/20 18:05
                                             Re: ポイント付与のタイミングについて seasoft 2008/7/20 22:23
                                               Re: ポイント付与のタイミングについて x41 2008/7/21 7:19
                                                 Re: ポイント付与のタイミングについて seasoft 2008/7/21 20:53
                                       Re: ポイント付与のタイミングについて takeuchik 2008/8/25 1:17
                                         Re: ポイント付与のタイミングについて x41 2008/8/25 7:40
                                           Re: ポイント付与のタイミングについて x41 2008/9/14 12:01
                                             Re: ポイント付与のタイミングについて DDR 2008/9/27 10:14
                                               Re: ポイント付与のタイミングについて x41 2008/9/27 17:22
                                                 Re: ポイント付与のタイミングについて DDR 2008/9/27 18:25
                                                   Re: ポイント付与のタイミングについて x41 2008/9/28 0:07
                                                     Re: ポイント付与のタイミングについて DDR 2008/9/28 17:48
     Re: ポイント付与のタイミングについて yukio 2009/9/16 16:09
       Re: ポイント付与のタイミングについて seasoft 2009/9/16 17:24
         Re: ポイント付与のタイミングについて yukio 2009/10/4 18:59
     Re: ポイント付与のタイミングについて yshin 2011/1/7 9:20

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,075名です
総投稿数は110,023件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.