Changeset 21623


Ignore:
Timestamp:
2012/03/09 21:14:46 (9 years ago)
Author:
pingpong
Message:

#1491 配送料金のカスタマイズを行いやすくする の対応

Location:
branches/version-2_12-dev/data/class
Files:
2 edited

Legend:

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

    r21622 r21623  
    624624        $deliv_pref = '', $charge = 0, $discount = 0, $deliv_id = 0 
    625625    ) { 
    626         $objDb = new SC_Helper_DB_Ex(); 
    627626 
    628627        $total_point = $this->getAllProductsPoint($productTypeId); 
     
    643642            && !SC_Utils_Ex::isBlank($deliv_pref) 
    644643            && !SC_Utils_Ex::isBlank($deliv_id)) { 
    645             $results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $deliv_id); 
     644            $results['deliv_fee'] += $this->sfGetDelivFee($deliv_pref, $deliv_id); 
    646645        } 
    647646 
     
    740739        return in_array($product_type_id, $this->getKeys()); 
    741740    } 
     741 
     742    /** 
     743     * 都道府県から配送料金を取得する. 
     744     * 
     745     * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列 
     746     * @param integer $deliv_id 配送業者ID 
     747     * @return string 指定の都道府県, 配送業者の配送料金 
     748     */ 
     749    function sfGetDelivFee($pref_id, $deliv_id = 0) { 
     750        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     751        if (!is_array($pref_id)) { 
     752            $pref_id = array($pref_id); 
     753        } 
     754        $sql = <<< __EOS__ 
     755            SELECT T1.fee AS fee 
     756            FROM dtb_delivfee T1 
     757                JOIN dtb_deliv T2 
     758                    ON T1.deliv_id = T2.deliv_id 
     759            WHERE T1.pref = ? 
     760                AND T1.deliv_id = ? 
     761                AND T2.del_flg = 0 
     762__EOS__; 
     763        $result = 0; 
     764        foreach ($pref_id as $pref) { 
     765            $result += $objQuery->getOne($sql, array($pref, $deliv_id)); 
     766        } 
     767        return $result; 
     768    } 
     769 
    742770} 
  • branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php

    r21582 r21623  
    11961196 
    11971197    /** 
    1198      * 都道府県から配送料金を取得する. 
    1199      * 
    1200      * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列 
    1201      * @param integer $deliv_id 配送業者ID 
    1202      * @return string 指定の都道府県, 配送業者の配送料金 
    1203      */ 
    1204     function sfGetDelivFee($pref_id, $deliv_id = 0) { 
    1205         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    1206         if (!is_array($pref_id)) { 
    1207             $pref_id = array($pref_id); 
    1208         } 
    1209         $sql = <<< __EOS__ 
    1210             SELECT T1.fee AS fee 
    1211             FROM dtb_delivfee T1 
    1212                 JOIN dtb_deliv T2 
    1213                     ON T1.deliv_id = T2.deliv_id 
    1214             WHERE T1.pref = ? 
    1215                 AND T1.deliv_id = ? 
    1216                 AND T2.del_flg = 0 
    1217 __EOS__; 
    1218         $result = 0; 
    1219         foreach ($pref_id as $pref) { 
    1220             $result += $objQuery->getOne($sql, array($pref, $deliv_id)); 
    1221         } 
    1222         return $result; 
    1223     } 
    1224  
    1225     /** 
    12261198     * レコードの存在チェックを行う. 
    12271199     * 
Note: See TracChangeset for help on using the changeset viewer.