Ticket #1200 (closed バグ指摘: 修正済)

Opened 10 years ago

Last modified 10 years ago

複数配送業者登録時の送料計算が異常

Reported by: AMUAMU Owned by: nanasess
Priority: Milestone: EC-CUBE2.11.1
Component: フロント Version: 2.11.0
Keywords: Cc:
修正済み: yes

Description

コミュニティフォーラムにて tachisaさんから報告ありました。  http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7671&forum=9&post_id=37216

SC_Helper_DB::sfGetDelivFee() における送料計算が、複数配送業者登録を想定していないと思われます。

Change History

comment:1 Changed 10 years ago by AMUAMU

  • Version changed from 2.11.1 to 2.11.0

comment:2 Changed 10 years ago by nanasess

  • Owner changed from somebody to nanasess
  • Status changed from new to assigned

comment:3 follow-up: ↓ 4 Changed 10 years ago by shutta

SC_Helper_DB::sfGetDelivFee() にも下記のように記載されている

        /*
         * FIXME 都道府県が指定されていない場合は、東京都の番号を指定しておく
         * http://svn.ec-cube.net/open_trac/ticket/410
         */

#410 のチケットも関連するかと思います。

そちらのチケットでは、根本的な仕様検討が必要という状態で止まっています。

どうあるのが正しいのか分からないくらい現在の実装が乖離してしまっているように思えるので、本チケットと併せて根本的な仕様を精査する必要がありそうですね。

comment:4 in reply to: ↑ 3 ; follow-up: ↓ 5 Changed 10 years ago by nanasess

  • 修正済み set

r20787 で修正しました.

shutta への返信

#410 のチケットも関連するかと思います。

そちらのチケットでは、根本的な仕様検討が必要という状態で止まっています。

どうあるのが正しいのか分からないくらい現在の実装が乖離してしまっているように思えるので、本チケットと併せて根本的な仕様を精査する必要がありそうですね。

購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.

comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 10 years ago by shutta

nanasess への返信

r20787 で修正しました.

r20787 の影響により、 #1235 のバグが発生しています。

購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.

/cart/index.phpの送料無料計算する際に、SC_CartSession->calculate()を呼んでいて、そこからSC_Helper_DB::sfGetDelivFee()が呼ばれた時に送料が取得できません。

現在のカゴの中では、配送先を選択する前なので、pref_idやdeliv_idが渡せません。

恐らくここのために、 #410 での謎のpref_idのセットがあったのではないでしょうか?

comment:6 in reply to: ↑ 5 Changed 10 years ago by shutta

shutta への返信

nanasess への返信

r20787 で修正しました.

r20787 の影響により、 #1235 のバグが発生しています。

r20814 にて、送料無料チェック部分を別関数に分離し、 #1235 に影響が出た部分は修正しました。

購入フローを精査したところ, 送料計算が必要なのは, /shopping/confirm.php のみであり, SC_Helper_DB::sfGetDelivFee() には必ず pref_id が渡ってくるので, もう無理矢理 pref_id を代入しなくて大丈夫かなと思います.

/cart/index.phpの送料無料計算する際に、SC_CartSession->calculate()を呼んでいて、そこからSC_Helper_DB::sfGetDelivFee()が呼ばれた時に送料が取得できません。

現在のカゴの中では、配送先を選択する前なので、pref_idやdeliv_idが渡せません。

恐らくここのために、 #410 での謎のpref_idのセットがあったのではないでしょうか?

と書いてしまいましたが、pref_idやdeliv_idが渡せなくても問題ないようにしてますので、本チケットと #410 はこのままでOKだと思います。

comment:7 Changed 10 years ago by kajiwara

  • Status changed from assigned to closed
  • Resolution set to 修正済

tachisaさん、AMUAMUさん

本件、ご報告いただき、ありがとうございました。

shuttaさん

本件、修正をいただき、ありがとうございました。

現状、正常に動作していることを確認致しました。

Note: See TracTickets for help on using tickets.