バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
x41
投稿日時: 2008/3/17 0:37
対応状況: −−−
仙人
登録日: 2007/11/23
居住地:
投稿: 308
Re: ポイント付与のタイミングについて
受注管理画面のステータス管理でステータスを変更後、まとめてポイント付与できるようにしてみました。
テスト環境のXAMPPでは動作しております。本日、下記の本番環境でテストしてみます。
環境
OS:CentOS4.6
EC-CUBEバージョン:2.0.1
PHPバージョン:5.1.6
DB:MySQL 4.1.20

dtb_customerにフィールド追加。
フィールド名:total_point

注文完了時にすぐにポイントが付与されないように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";
$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['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 != "" ) {

$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件1件ではなく、まとめてステータスを移動した注文分にポイント付与されます。

当方の場合、発送後にすぐにステータスを発送済みにするのではなく、注文日より8日後にステータスを発送済みに変更しポイントを付与しようと考えています。
ステータスは発送済み以外でもポイント付与されますので、発送済みの時だけポイント付与できるように今後してみます。
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を表示させ変更させる必要があるので明日訂正してみます。
x41
投稿日時: 2008/3/20 22:21
対応状況: −−−
仙人
登録日: 2007/11/23
居住地:
投稿: 308
Re: ポイント付与のタイミングについて
下記の項目にも対応させました。

・新規会員登録時にウェルカムポイント付与の可否があってもOK。
・顧客管理画面で最終保持ポイントを表示させ、ステータスを発送済みにする前に注文キャンセルなどがあった場合は最終保持ポイント欄からポイントを調整する。元々表示の保持ポイント欄は調整する必要がありません。ポイントを手動で調整する場合は最終保持ポイント欄で調整します。

顧客管理画面の見方↓

顧客管理画面には保持ポイント欄と最終保持ポイント欄があります。注文後、ステータスを発送済みにするとポイントが付与され、必ず、保持ポイント欄と最終保持ポイント欄のポイント数が一致します。
ステータスを発送済みにするまではポイントは付与されません。ポイントを付与する前にお客様が続けて注文してきた場合でも前のポイント分も含めて加算するようになっています。注文時に最終保持ポイントを利用しても、利用分は自動で差し引きします。


変更箇所↓

dtb_customerにフィールド追加。
フィールド名:total_point



LC_Page_Admin_Customer_Edit.phpに追加
108行目に下記追加(元々あれば追加必要なし)
引用:

array( "column" => "total_point", "convert" => "n" ),

330行目に下記追加(元々あれば追加必要なし)
引用:

$objErr->doFunc(array("最終所持ポイント", "total_point", TEL_LEN) ,array("MAX_LENGTH_CHECK", "NUM_CHECK"));



Smarty/templates/default/admin/customer/edit.tplに追加
248行目に下記追加
引用:

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">最終所持ポイント</td>
<td bgcolor="#ffffff" width="527"><span class="red12"><!--{$arrErr.total_point}--></span><input type="text"

name="total_point" value="<!--{$list_data.total_point|escape}-->" maxlength="<!--{$smarty.const.TEL_LEN}-->" <!--{if

$arrErr.total_point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> size="6" class="box6" <!--{if $arrErr.total_point != ""}--

><!--{sfSetErrorStyle}--><!--{/if}--> /> pt</td>
</tr>


Smarty/templates/default/admin/customer/edit_confirm.tplに追加
173行目に下記追加
引用:

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">最終所持ポイント</td>
<td bgcolor="#ffffff" width="527"><!--{$arrForm.total_point|escape|default:"0"}--> pt</td>
</tr>



注文完了時にすぐにポイントが付与されないようにLC_Page_Shopping_Complete.phpを変更
引用:

/* 購入情報を会員テーブルに登録する */
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'] ) {
if ( $sqlval['total_point'] == "" ) {
$sqlval['total_point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']);
$sqlval['point'] = ($sqlval['point'] - $arrData['use_point']);
} elseif ( $sqlval['total_point'] < $sqlval['point'] ) {
$sqlval_tmp['point']+= $sqlval['total_point'] + $sqlval['point'];
$sqlval['total_point'] = ($sqlval_tmp['point'] + $arrData['add_point'] - $arrData['use_point']);
$sqlval['point'] = ($sqlval['point'] - $arrData['use_point']);
} else {
$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()');
$col = 'point, total_point';

$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($col, 'dtb_customer', 'customer_id = ?', array($customer_id));
if($arrRet[0]['total_point'] < $arrRet[0]['point']) {
$arrRet[0]['total_point']+= $arrRet[0]['point'];
$sqlval['point'] = $arrRet[0]['total_point'];
$sqlval['total_point'] = $arrRet[0]['total_point'];
$objQuery->update('dtb_customer', $sqlval, 'customer_id = ?', array($customer_id));
} else {
$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 . "しました。');";
}
ゲスト
投稿日時: 2008/3/21 0:10
対応状況: −−−
Re: ポイント付与のタイミングについて
引用:

x41さんは書きました:
下記の項目にも対応させました。

・新規会員登録時にウェルカムポイント付与の可否があってもOK。
・顧客管理画面で最終保持ポイントを表示させ、ステータスを発送済みにする前に注文キャンセルなどがあった場合は最終保持ポイント欄からポイントを調整する。元々表示の保持ポイント欄は調整する必要がありません。ポイントを手動で調整する場合は最終保持ポイント欄で調整します。

(以下略)



ポイント機能についての修正・改良が気になっていましたので拝見しました。
ここで、提示されているソースについてでは無いので、また横からですので非常に気が引けますが、一言失礼致します。

x41さんのお立場として、ご自身で表明されていないので、EC-CUBE本体のコミッタさんでは無いと考えますが、正しいでしょうか。

なぜお尋ねするかと言いますと、それを明らかにして頂かないと、せっかくの修正ソースを、どのようにとらえれば良いかわからないからです。

極端な話、上記の場合これを開発コミッタの誰一人として読んでいない 可能性もあるわけです。この場合、自動アップデート等との兼ね合いを考えますと、なかなか適用しにくいわけです。
(もちろん、為にならないという意味ではありません)

また私は、下記のような部分で、ポイント機能そのものについて(また、このコミュニティのやりとりについて)問題視しています。

個人的には、広く配布する、また自分が使いたいECシステムとして、ポイント機能は ON/OFF が切り替えられるべきだと考えているのですが、これは現在実装されているのでしょうか。
(むしろ、モジュール化出来ないかとも考えています。本体からはばっさり消してしまえと)
これについて、常に開発陣からの反応が(少なくともそれぞれのスレッドには)無く、等閑視されています。

(関連過去スレッド)
・ポイント機能の無効化について
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1032&forum=2&post_id=3282#forumpost3282
・ポイント制度を使わない場合は?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1303&forum=10&post_id=4093#forumpost4093

# すでに実装済みなら以下は非常に間抜けですね。済みません。

以前(結構昔)に見たときには、このON/OFF切り替えがTODOもしくはロードマップに上げられていた様に思いますが、現在ちょっと見あたりません。
もしこの作業が入るとしたら、そこにこそ、こういった修正も同時に組み込むべきだと思います。

今回書き込みをされているせっかくのソースは、貴重だと思います。
それを活かすためにも、開発コミッタとの連携を意識したレスにしていただければと、思います

なんだか非常に失礼な横やりになってしまいましたが、ご容赦下さい。
ゲスト
投稿日時: 2008/5/31 17:59
対応状況: −−−
Re: ポイント付与のタイミングについて
こちらのポイント付与の変更について1点よければ確認させてください。

さきほどすべて変更しUPし、購入後すぐにポイント付与されないようになり、発送済みに変更すれば付与されるようにうなりましたが、

管理画面の顧客情報の編集を開くと画面が白い状態になってしまいます。上部の管理画面のメニューはでていますが。

LC_Page_Admin_Customer_Edit.php
Smarty/templates/default/admin/customer/edit.tpl

こちらの編集も確認しましたが、どこが原因か分からない状況ですが、

dtb_customerにtotal_pointを追加するときに

Column   total_point
Type   numeric
Null Default
Actions

と設定しましたが、ここは特に上記で問題ないでしょうか?

ほかにもし何かてがかりやエラーの確認方法などあれば助かります。よろしくお願いします。
ゲスト
投稿日時: 2008/6/1 17:27
対応状況: −−−
Re: ポイント付与のタイミングについて
追記です:

PHPエラー表示にしてみたところ、

Fatal error: Smarty error: [in customer/edit.tpl line 254]: syntax error: unidentified token '}--' (Smarty_Compiler.class.php, line 1393) in /var/www/vhosts/ドメイン/httpdocs/data/module/Smarty/libs/Smarty.class.php on line 1095

これが表示されました。
もし何かいただけると助かります。お願いします。
ゲスト
投稿日時: 2008/6/1 17:29
対応状況: −−−
Re: ポイント付与のタイミングについて
追記:

edit.tpl の254となると、

$arrErr.total_point != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> size="6" class="box6" <!--{if $arrErr.total_point != ""}--

やはりtotal_pointのフィールドの追加方法がいけないのでしょうか?
x41
投稿日時: 2008/6/2 20:53
対応状況: −−−
仙人
登録日: 2007/11/23
居住地:
投稿: 308
Re: ポイント付与のタイミングについて
回答が遅くなり申し訳ありません。
dtb_customerにtotal_pointを追加する時、下記SQL文で試してください。

ALTER TABLE dtb_customer ADD total_point numeric;

今回のポイント付与のタイミングはmysql、postgresqlともに動作確認しております。
ゲスト
投稿日時: 2008/6/3 16:53
対応状況: −−−
Re: ポイント付与のタイミングについて
了解です。ありがとうございます。
やってみます。
ゲスト
投稿日時: 2008/6/11 12:29
対応状況: −−−
Re: ポイント付与のタイミングについて
はじめまして、x41さん。
ソースを活用させていただきました。
ありがとうございます。

2つほど問題点があったので、書き込みます。

1.受注管理→受注履歴編集で対応状況を「発送済み」にしてもポイントが反映されません。
※LC_Page_Admin_Order_Edit.phpには手を加えていないのであたりまえなのですが。

→受注履歴編集の対応状況を変更できないようにするのが簡単なのかも。


2.商品発送前にさらに注文した場合(連続注文)、そのうち1商品だけステータスを「発送済み」にすると、2商品分のポイントが反映されてしまいます。
つまり、発送される前に、同じ人が何度も注文してきた場合、そのうちの1商品でも発送済みにすると、未発送の商品の分までポイントが反映されます。

→簡単にちょちょいと手直しできないでしょうか??


お時間に余裕があるときにでもお願いします。
« 1 (2) 3 4 5 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,160名です
総投稿数は110,324件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1682
8
red
1571
9
mcontact
1351
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.