バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

プラグイン > その他 > バグでしょうか?(POINTプラグイン)

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nishisuke
投稿日時: 2017/3/4 14:50
対応状況: 確認中
新米
登録日: 2017/3/4
居住地:
投稿: 6
バグでしょうか?(POINTプラグイン)
▼テンプレート
[EC-CUBE] 3.0.12、新規インストール
[ポイントプラグイン] 1.0.0
[PHP] PHP5.4.45
[現象] ポイントプラグインにおいて保有ポイント情報が0で取得される。
ECCUBE2からの移行試験中です。
マニュアル記載の通りECCUBE2よりデータを移行しplg_point_customerを生成(約1.4万件)。 該当のcustomer_idのplg_point_currentには、20の値が設定されている。 テーブルには同一のcustomer_idは存在しない。
管理機能の会員マスター検索にて保有ポイント20の表示を確認。
フロント機能で購入を行うと保有ポイント0ポイントとして購入処理が行われる。
この時、plg_point_customerには該当customer_idにてplg_point_currentが0のレコードが新規生成。
plg_pointには利用ポイント、加算ポイントのレコードは正常に生成され、plg_point_snapshotにも正常にレコードが作られているが、該当テーブルのplg_point_currentは全て0で作成される。
別の新規構築環境では同一バージョンで正常に稼働しており、ECCUBE2からのデータ移行の環境のみ発生しています。

何が考えられるでしょうか?

該当のPOINTログは以下の通りです。
-------------------------------------------------------------------------------------------
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save end [] {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\ServiceMail","function":"save","line":100}
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save add point {"customer_id":10898,"order_id":45925,"add point":20,"use point":0} {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\ServiceMail","function":"save","line":75}
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save start [] {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\ServiceMail","function":"save","line":37}
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save end [] {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\FrontShoppingComplete","function":"save","line":108}
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save add point {"customer_id":10898,"order_id":45925,"current point":0,"add point":20,"use point":0} {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\FrontShoppingComplete","function":"save","line":97}
[2017-03-04 13:56:39] [g2s6f9bd] plugin.point.INFO: save start [] {"process_id":23153,"url":"/shop/shopping/confirm","ip":"192.168.0.3","http_method":"POST","server":"test.domain.com","referrer":"http://test.domain.com/shop/shopping","class":"Plugin\\Point\\Event\\WorkPlace\\FrontShoppingComplete","function":"save","line":42}

よろしくお願い致します。
nishisuke
投稿日時: 2017/3/5 8:43
対応状況: 確認中
新米
登録日: 2017/3/4
居住地:
投稿: 6
Re: バグでしょうか?(POINTプラグイン)
少しデバッグ行を入れて追ってみました。
Cartの段階は注文確認画面では正しくCurrentPointは、20と引けていました。 注文確定のEvent/WorkPlace/FrontShoppingComplete.php
のcalculateCurrentPointの$Customer->getId()は、正常に該当会員のCustome_idを渡しています。
PointRepository.phpのcalcCurrentPointで生成されるSQLで引っ張って来られないのだと思いますが、index_dev.phpなどの情報を見ては見ましたが、SQLのログの出力の仕方がわかりません。
SQLログを出力する方法をご存知の方がいればご教授頂けないでしょうか。

よろしくお願い致します。
umebius
投稿日時: 2017/3/5 9:20
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: Tokyo
投稿: 671
Re: バグでしょうか?(POINTプラグイン)
$qb->getQuery()->getSql()
$qb->getQuery()->getDQL()
$qb->getQuery()->getParameters()

などで$qbのその時点のクエリの状況は分かります。


----------------
//////////////////////////////
(株)U-Mebius EC-CUBE3 カスタマイズ・高速化 ・バグ修正
EC-CUBE関連技術者の採用もお問い合わせください。


red
投稿日時: 2017/3/5 12:10
対応状況: −−−
登録日: 2010/2/15
居住地:
投稿: 1055
Re: バグでしょうか?(POINTプラグイン)
plg_point_currentは現在のポイントを表示するためのものであって実態ではありません。
なのでバグではなく仕様ですよ


----------------
EC-CUBEのカスタマイズ承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

nishisuke
投稿日時: 2017/3/5 16:30
対応状況: −−−
新米
登録日: 2017/3/4
居住地:
投稿: 6
Re: バグでしょうか?(POINTプラグイン)
ありがとうございました。
SQL取得できました。
nishisuke
投稿日時: 2017/3/5 16:37
対応状況: −−−
新米
登録日: 2017/3/4
居住地:
投稿: 6
Re: バグでしょうか?(POINTプラグイン)
ありがとうございます。
確かにcalculateCurrentPointのSQLを見たら
SELECT SUM(p0_.plg_dynamic_point) AS sclr0 FROM plg_point p0_ WHERE (p0_.order_id IS NULL AND p0_.customer_id = 10898) OR (p0_.plg_point_type = 4 AND p0_.customer_id = 10898)とplg_pointテーブルを見ていて移行直後でテーブルは空のためNULLが返っており0で正しいように思います。

保有ポイント20で、利用ポイントを5ポイントとすると-5となって受注エラーになるので別のロジック更新の所なのかと思います。

もう少し調べてみます。
nishisuke
投稿日時: 2017/3/10 13:36
対応状況: 解決済
新米
登録日: 2017/3/4
居住地:
投稿: 6
Re: バグでしょうか?(POINTプラグイン)
皆様のアドバイスもあり解決しました。

POINTプラグインのマニュアルには移行方法として以下の記載があります。
----------------------------------------------------------
9.3 移行方法
具体的な移行方法を以下に示します。
EC-CUBE 2 と EC-CUBE 3 のポイントにおけるテーブルの比較です。
[ EC-CUBE2 ]
1. 対象テーブル : dtb_customer ( 会員情報テーブル )
抽出対象カラム : point ( 会員保有ポイント )
[ EC-CUBE3 ]
1. 対象テーブル : plg_point_customer ( 会員保有ポイント管理テーブル )
登録対象カラム : customer_id ( 会員情報テーブル主キー )
登録対象カラム : plg_point_current ( 会員保有ポイント )
EC-CUBE2 のテーブル:dtb_customer の point カラムのレコードを、EC-CUBE3 のテーブ
ル plg_point_customer の plg_point_current に登録してください。
EC-CUBE3 の「dtb_customer」と「plg_point_customer」の「customer_id」がリレー
ションとなっています。

その記載に則りplg_point_customerにのみ移行データを作成していましたが、plg_pointとplg_point_snapshotにも管理画面で手動でポイント設定をした時と同じ形式でレコードを発生させる事でECCUBE2からのポイント移行後の購買でもポイントの増減が正しく計算されるようになりました。

ECCUBE2からのポイント移行の方はご注意ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEガイドブック

統計情報

総メンバー数は19,520名です
総投稿数は81,804件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1623
4
yuh
1346
5
red
1055
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
782
10
umebius
671
11
tao_s
646
12 sumida 638
13
homan
633
14 karin 609
15
468
572
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.