バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 2.11.4 ポイント機能について質問です

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akki31
投稿日時: 2012/3/13 16:07
対応状況: −−−
常連
登録日: 2011/6/7
居住地:
投稿: 59
2.11.4 ポイント機能について質問です
こんにちは。
いつもお世話になっております。


ポイント機能について質問です。


現在ポイント機能として商品をご購入後に
ポイントが付与されるのは問題ありませんが

ポイントを使用する場合にポイントが
付与されてしまうかと思います。

ポイント使用時にはポイントを付与しない
設定にするのは

どのような修正を加えればよろしいのでしょうか?


予想では
SC_Helper_Purchace.phpがからんでいるかとは思うのですが


皆様のご助力。宜しくお願い致します。



SC_Helper_Purchace.php

/**
* 受注.対応状況の更新
*
* 必ず呼び出し元でトランザクションブロックを開いておくこと。
*
* @param integer $orderId 注文番号
* @param integer|null $newStatus 対応状況 (null=変更無し)
* @param integer|null $newAddPoint 加算ポイント (null=変更無し)
* @param integer|null $newUsePoint 使用ポイント (null=変更無し)
* @param array $sqlval 更新後の値をリファレンスさせるためのパラメーター
* @return void
*/
function sfUpdateOrderStatus($orderId, $newStatus = null, $newAddPoint = null, $newUsePoint = null, &$sqlval) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrOrderOld = $objQuery->getRow('status, add_point, use_point, customer_id', 'dtb_order', 'order_id = ?', array($orderId));

// 対応状況が変更無しの場合、DB値を引き継ぐ
if (is_null($newStatus)) {
$newStatus = $arrOrderOld['status'];
}

// 使用ポイント、DB値を引き継ぐ
if (is_null($newUsePoint)) {
$newUsePoint = $arrOrderOld['use_point'];
}

// 加算ポイント、DB値を引き継ぐ
if (is_null($newAddPoint)) {
$newAddPoint = $arrOrderOld['add_point'];
}

if (USE_POINT !== false) {
// 会員.ポイントの加減値
$addCustomerPoint = 0;

// ▼使用ポイント
// 変更前の対応状況が利用対象の場合、変更前の使用ポイント分を戻す
if ($this->isUsePoint($arrOrderOld['status'])) {
$addCustomerPoint += $arrOrderOld['use_point'];
}

// 変更後の対応状況が利用対象の場合、変更後の使用ポイント分を引く
if ($this->isUsePoint($newStatus)) {
$addCustomerPoint -= $newUsePoint;
}

// ▲使用ポイント

// ▼加算ポイント
// 変更前の対応状況が加算対象の場合、変更前の加算ポイント分を戻す
if ($this->isAddPoint($arrOrderOld['status'])) {
$addCustomerPoint -= $arrOrderOld['add_point'];
}

// 変更後の対応状況が加算対象の場合、変更後の加算ポイント分を足す
if ($this->isAddPoint($newStatus)) {
$addCustomerPoint += $newAddPoint;
}
// ▲加算ポイント

if ($addCustomerPoint != 0) {
// ▼会員テーブルの更新
$objQuery->update('dtb_customer', array('update_date' => 'CURRENT_TIMESTAMP'),
'customer_id = ?', array($arrOrderOld['customer_id']),
array('point' => 'point + ?'), array($addCustomerPoint));
// ▲会員テーブルの更新

// 会員.ポイントをマイナスした場合、
if ($addCustomerPoint < 0) {
$sql = 'SELECT point FROM dtb_customer WHERE customer_id = ?';
$point = $objQuery->getOne($sql, array($arrOrderOld['customer_id']));
// 変更後の会員.ポイントがマイナスの場合、
if ($point < 0) {
// ロールバック
$objQuery->rollback();
// エラー
SC_Utils_Ex::sfDispSiteError(LACK_POINT);
}
}
}
}





-----------------------------------
[EC-CUBE]2.11.4
[OS]Windows 7
[PHP] 5.3.6
[データベース] MySQL 5.0.67-log
[WEBサーバ] Apache
-----------------------------------
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 2.11.4 ポイント機能について質問です akki31 2012/3/13 16:07
     Re: 2.11.4 ポイント機能について質問です ken-o 2012/3/13 16:37
       Re: 2.11.4 ポイント機能について質問です akki31 2012/3/13 17:10
         Re: 2.11.4 ポイント機能について質問です ken-o 2012/3/13 17:51
           Re: 2.11.4 ポイント機能について質問です akki31 2012/3/13 21:15
             Re: 2.11.4 ポイント機能について質問です ken-o 2012/3/14 9:36
               Re: 2.11.4 ポイント機能について質問です akki31 2012/3/15 12:08
                 Re: 2.11.4 ポイント機能について質問です ken-o 2012/3/15 13:18
                   Re: 2.11.4 ポイント機能について質問です akki31 2012/3/15 21:22
                     Re: 2.11.4 ポイント機能について質問です akki31 2012/3/16 22:07

 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
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.