Changeset 20787


Ignore:
Timestamp:
2011/03/28 21:51:52 (11 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_11-dev:20786
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/class/SC_CartSession.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_CartSession.php
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/pages/shopping/LC_Page_Shopping_Confirm.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Confirm.php
data/class/pages/shopping/LC_Page_Shopping_Payment.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Payment.php
bzr:mapping-version:
v4
bzr:merge:

ohkouchi@loop-az.jp-20110328125011-rwo1m6kj40dwy218
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20110328125149-07m97ky2xgd00rng
bzr:revno:
3499
bzr:revprop:branch-nick:
branches/version-2_11-dev
bzr:root:
branches/version-2_11-dev
bzr:text-revisions:

data/class/SC_CartSession.php ohkouchi@loop-az.jp-20110328125011-rwo1m6kj40dwy218
data/class/pages/shopping/LC_Page_Shopping_Confirm.php ohkouchi@loop-az.jp-20110328125011-rwo1m6kj40dwy218
data/class/pages/shopping/LC_Page_Shopping_Payment.php ohkouchi@loop-az.jp-20110328125011-rwo1m6kj40dwy218
bzr:timestamp:
2011-03-28 21:51:49.858000040 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2011-03-28T12:51:49.858000Z
Message:

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

  • /shopping/confirm.php でのみ, 送料計算を行うよう修正
  • 送料の検索条件に配送業者IDを追加
  • #410 も合わせて解決
Location:
branches/version-2_11-dev/data/class
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/SC_CartSession.php

    r20764 r20787  
    508508     * @param integer $charge 手数料 
    509509     * @param integer $discount 値引 
     510     * @param integer $deliv_id 配送業者ID 
    510511     * @return array カートの計算結果の配列 
    511512     */ 
    512513    function calculate($productTypeId, &$objCustomer, $use_point = 0, 
    513                        $deliv_pref = "", $charge = 0, $discount = 0) { 
     514                       $deliv_pref = "", $charge = 0, $discount = 0, $deliv_id = 0) { 
    514515        $objDb = new SC_Helper_DB_Ex(); 
    515516 
     
    528529 
    529530        // 配送業者の送料を加算 
    530         if (OPTION_DELIV_FEE == 1) { 
    531             $results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $productTypeId); 
     531        if (OPTION_DELIV_FEE == 1 
     532            && !SC_Utils_Ex::isBlank($deliv_pref) 
     533            && !SC_Utils_Ex::isBlank($deliv_id)) { 
     534            $results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $deliv_id); 
    532535        } 
    533536 
  • branches/version-2_11-dev/data/class/helper/SC_Helper_DB.php

    r20786 r20787  
    11721172     * 
    11731173     * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列 
    1174      * @return string 指定の都道府県, 商品種別の配送料金 
    1175      */ 
    1176     function sfGetDelivFee($pref_id, $product_type_id) { 
    1177         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    1178  
    1179         /* 
    1180          * FIXME 都道府県が指定されていない場合は、東京都の番号を指定しておく 
    1181          * http://svn.ec-cube.net/open_trac/ticket/410 
    1182          */ 
    1183         if($pref_id == "") { 
    1184             $pref_id = 13; 
    1185         } 
     1174     * @param integer $deliv_id 配送業者ID 
     1175     * @return string 指定の都道府県, 配送業者の配送料金 
     1176     */ 
     1177    function sfGetDelivFee($pref_id, $deliv_id = 0) { 
     1178        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    11861179        if (!is_array($pref_id)) { 
    11871180            $pref_id = array($pref_id); 
    11881181        } 
    11891182        $sql = <<< __EOS__ 
    1190             SELECT SUM(T1.fee) AS fee 
     1183            SELECT T1.fee AS fee 
    11911184              FROM dtb_delivfee T1 
    11921185              JOIN dtb_deliv T2 
    11931186                ON T1.deliv_id = T2.deliv_id 
    1194              WHERE T1.pref = ? AND T2.product_type_id = ? 
     1187             WHERE T1.pref = ? 
     1188               AND T1.deliv_id = ? 
    11951189               AND T2.del_flg = 0 
    11961190__EOS__; 
    1197  
    11981191        $result = 0; 
    11991192        foreach ($pref_id as $pref) { 
    1200             $result += $objQuery->getOne($sql, array($pref, $product_type_id)); 
     1193            $result += $objQuery->getOne($sql, array($pref, $deliv_id)); 
    12011194        } 
    12021195        return $result; 
  • branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

    r20764 r20787  
    116116                                                  $objPurchase->getShippingPref(), 
    117117                                                  $arrOrderTemp['charge'], 
    118                                                   $arrOrderTemp['discount']); 
     118                                                  $arrOrderTemp['discount'], 
     119                                                  $arrOrderTemp['deliv_id']); 
    119120        $this->arrForm = array_merge($arrOrderTemp, $arrCalcResults); 
    120121 
  • branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php

    r20764 r20787  
    118118        } 
    119119 
    120         // 購入金額の取得 
    121         $this->arrPrices = $objCartSess->calculate($cart_key, $objCustomer, 0, $objPurchase->getShippingPref()); 
     120        /* 
     121         * 購入金額の取得 
     122         * ここでは送料を加算しない 
     123         */ 
     124        $this->arrPrices = $objCartSess->calculate($cart_key, $objCustomer); 
    122125 
    123126        // お届け日一覧の取得 
Note: See TracChangeset for help on using the changeset viewer.