> フロント機能 > 管理画面から受注登録し、ステータスを8(購入処理中)にすると決済画面で不具合が発生する |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nakunaru |
投稿日時: 2016/2/4 23:57
対応状況: −−−
|
半人前 登録日: 2015/3/16 居住地: 投稿: 14 |
管理画面から受注登録し、ステータスを8(購入処理中)にすると決済画面で不具合が発生する お世話になります。
ver 3.0.7にてサイト運用中です。 以下の問題にぶつかりましたので、アドバイスを頂ければと思います。 1. 管理画面の受注登録で適当な商品を受注登録する。 この際にステータスを「購入処理中」にする。 ここで登録された受注は dtb_order.pre_order_id がNULLとなり、 status が8となる 2. フロント側で適当な商品をカートに入れ、「レジに進む」をクリックする ここで、以下の受注データの取得SQLが発行されており、これで取得された商品の 決済画面が表示される。 SELECT ..... FROM dtb_order t0 WHERE t0.pre_order_id IS NULL AND t0.status = 8 AND ((t0.del_flg = 0)) LIMIT 1 1の手順で登録した受注が条件に該当するため、カートに入れた商品とは異なる商品の 決済画面となる。 また、1で受注登録された商品が削除処理済みの場合、商品情報が取得できないため、 決済画面はエラーで表示できずに終了する。 以上のような現象が発生し、一切の購入処理ができない状況となりました。 pre_order_idがnullで、かつstatusが8で削除されていない受注が居なければよいので 現在は該当受注のdel_flgを1にして回避しています。 お聞きしたいのは、決済画面に進む際にの受注データ取得で、 pre_order_id isnull and status=9 and del_flg=0 という絞込が行われている箇所、これはECCubeの不具合と考えてよいでしょうか。 セッションなどの特定をせずに、order byもなく、limit 1で取得しているという部分が、 確実にそのセッションの情報をとっているとは思いにくいのですが、適切な修正方法をご存知の方が居られましたらお願い致します。 ※Githubのissueもざっと眺めてみましたが、これに該当するものはなさそうでした。 これはあちらに投げた方がよいものでしょうか… |
shhirose |
投稿日時: 2016/2/5 9:17
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: 管理画面から受注登録し、ステータスを8(購入処理中)にすると決済画面で不具合が発生する 引用:
受注管理で作成したデータの pre_order_id が NULL のままという使用なので、動作としては不具合になりますね。 引用:
pre_order_id にセットする値がセッションに保存されている値を使用しているのでセッションの特定はされております。 ※ただし、値が NULL のため、SQL 生成時に pre_order_id is null となってしまっているようです。 引用:
ひとまず以下のような修正を行ってください。 {EC-CUBEインストールディレクトリ}/src/Eccube/Service/ShoppingService.php 72行目付近に public function getOrder($status = null) という関数があると思います。 その関数に以下の処理があります。 引用:
この処理の下に以下の処理を追加してください。 if (!$preOrderId) { return null; } Issue をあげておきました。 https://github.com/EC-CUBE/ec-cube/issues/1452 |
nakunaru |
投稿日時: 2016/2/16 13:20
対応状況: −−−
|
半人前 登録日: 2015/3/16 居住地: 投稿: 14 |
Re: 管理画面から受注登録し、ステータスを8(購入処理中)にすると決済画面で不具合が発生する shhirose様
お世話になります。 ご返信が遅くなりましたが、ご回答頂きありがとうございます。 Githubの方も確認致しました。 取り急ぎ、管理画面から、受注ステータスを8にするシチュエーションが考えられなかったので、ステータス変更画面のリストボックスから、該当ステータスを非表示に変更して、事故防止をしました。 getOrderファンクションの修正については、影響範囲が大きそうなので、もう少し浅いところで回避コードを入れるか調査中です。 いったん当方の問題は解決というステータスにさせて頂きます。 どうもありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |