バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nishisuke
投稿日時: 2017/3/4 14:50
対応状況: 確認中
半人前
登録日: 2017/3/4
居住地:
投稿: 22
バグでしょうか?(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
居住地:
投稿: 22
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
居住地:
投稿: 2085
Re: バグでしょうか?(POINTプラグイン)
$qb->getQuery()->getSql()
$qb->getQuery()->getDQL()
$qb->getQuery()->getParameters()

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


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

red
投稿日時: 2017/3/5 12:10
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
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
居住地:
投稿: 22
Re: バグでしょうか?(POINTプラグイン)
ありがとうございました。
SQL取得できました。
nishisuke
投稿日時: 2017/3/5 16:37
対応状況: −−−
半人前
登録日: 2017/3/4
居住地:
投稿: 22
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
居住地:
投稿: 22
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,281名です
総投稿数は109,687件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.