Changeset 19928


Ignore:
Timestamp:
2011/01/16 19:56:17 (10 years ago)
Author:
nanasess
bzr:base-revision:
nanasess@fsm.ne.jp-20110116062219-tpkgcgbv2y4kxl6r
bzr:committer:
Kentaro Ohkouchi <nanasess@fsm.ne.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/helper/SC_Helper_Purchase.php sc_helper_purchase.p-20101020100530-jyaoa7ch9pdfjqzp-1
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php 15594@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_Edit.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
html/install/sql/create_table_mysql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_mysql.sql
html/install/sql/create_table_pgsql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_pgsql.sql
bzr:mapping-version:
v4
bzr:merge:

nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
nanasess@fsm.ne.jp-20110116105610-cbdyux6eh8j902v3
bzr:revno:
2657
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/class/SC_CartSession.php nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
data/class/helper/SC_Helper_DB.php nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
data/class/helper/SC_Helper_Purchase.php nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
data/class/pages/shopping/LC_Page_Shopping_Confirm.php nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
html/install/sql/create_table_mysql.sql nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
html/install/sql/create_table_pgsql.sql nanasess@fsm.ne.jp-20110116105415-kglfjf04e1qc1pjx
bzr:timestamp:
2011-01-16 19:56:10.862999916 +0900
bzr:user-agent:
bzr2.2.2+bzr-svn1.0.4
svn:original-date:
2011-01-16T10:56:10.863000Z
Message:

#843(複数配送先の指定)

  • 送料計算を修正
Location:
branches/version-2_5-dev
Files:
8 edited

Legend:

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

    r19860 r19928  
    490490     * @param SC_Customer $objCustomer ログイン中の SC_Customer インスタンス 
    491491     * @param integer $use_point 今回使用ポイント 
    492      * @param integer $deliv_pref 配送先都道府県ID 
    493      * @param integer $payment_id 支払い方法ID 
     492     * @param integer|array $deliv_pref 配送先都道府県ID. 
     493                                        複数に配送する場合は都道府県IDの配列 
    494494     * @param integer $charge 手数料 
    495495     * @param integer $discount 値引 
     
    497497     */ 
    498498    function calculate($productTypeId, &$objCustomer, $use_point = 0, 
    499                        $deliv_pref = "", $payment_id = "", $charge = 0, $discount = 0) { 
     499                       $deliv_pref = "", $charge = 0, $discount = 0) { 
    500500        $objDb = new SC_Helper_DB_Ex(); 
    501501 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php

    r19909 r19928  
    14771477 
    14781478    /** 
    1479      * 都道府県、支払い方法から配送料金を取得する. 
    1480      * 
    1481      * @param array $arrData 各種情報 
    1482      * @return string 指定の都道府県, 支払い方法の配送料金 
     1479     * 都道府県から配送料金を取得する. 
     1480     * 
     1481     * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列 
     1482     * @return string 指定の都道府県, 商品種別の配送料金 
    14831483     */ 
    14841484    function sfGetDelivFee($pref_id, $product_type_id) { 
    14851485        $objQuery =& SC_Query::getSingletonInstance(); 
    14861486 
    1487         // 配送業者から配送料を取得 
    1488         if($deliv_id != "") { 
    1489  
    1490             // 都道府県が指定されていない場合は、東京都の番号を指定しておく 
    1491             if($pref_id == "") { 
    1492                 $pref_id = 13; 
    1493             } 
    1494  
    1495             $objQuery =& SC_Query::getSingletonInstance(); 
    1496             $where = "product_type_id = ? AND pref = ?"; 
    1497             $arrRet= $objQuery->select("fee", "dtb_delivfee", $where, array($product_type_id, $pref_id)); 
    1498         } 
    1499         return $arrRet[0]['fee']; 
     1487        /* 
     1488         * FIXME 都道府県が指定されていない場合は、東京都の番号を指定しておく 
     1489         * http://svn.ec-cube.net/open_trac/ticket/410 
     1490         */ 
     1491        if($pref_id == "") { 
     1492            $pref_id = 13; 
     1493        } 
     1494        if (!is_array($pref_id)) { 
     1495            $pref_id = array($pref_id); 
     1496        } 
     1497        $sql = <<< __EOS__ 
     1498            SELECT SUM(T1.fee) AS fee 
     1499              FROM dtb_delivfee T1 
     1500              JOIN dtb_deliv T2 
     1501                ON T1.deliv_id = T2.deliv_id 
     1502             WHERE T1.pref = ? AND T2.product_type_id = ? 
     1503__EOS__; 
     1504 
     1505        $result = 0; 
     1506        foreach ($pref_id as $pref) { 
     1507            $result += $objQuery->getOne($sql, array($pref, $product_type_id)); 
     1508        } 
     1509        return $result; 
    15001510    } 
    15011511 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php

    r19927 r19928  
    225225 
    226226    /** 
     227     * 配送先都道府県の配列を返す. 
     228     */ 
     229    function getShippingPref() { 
     230        $results = array(); 
     231        foreach ($_SESSION['shipping'] as $val) { 
     232            $results[] = $val['shipping_pref']; 
     233        } 
     234        return $results; 
     235    } 
     236 
     237    /** 
    227238     * 複数配送指定の購入かどうか. 
    228239     * 
     
    552563        $objQuery =& SC_Query::getSingletonInstance(); 
    553564 
    554         // 別のお届け先を指定が無ければ, お届け先に登録住所をコピー 
    555         /* FIXME 
    556         if ($orderParams['deliv_check'] == "-1") { 
    557             $keys = array('name01', 'name02', 'kana01', 'kana02', 'pref', 'zip01', 
    558                           'zip02', 'addr01', 'addr02', 'tel01', 'tel02', 'tel03'); 
    559             foreach ($keys as $key) { 
    560                 $orderParams['deliv_' . $key] = $orderParams['order_' . $key]; 
    561             } 
    562         } 
    563         */ 
    564565        // 不要な変数を unset 
    565566        $unsets = array('mailmaga_flg', 'deliv_check', 'point_check', 'password', 
  • branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r19923 r19928  
    390390 
    391391                // お届け日の取得 
    392                 $ts = strtotime($shipping["shipping_date"]); 
    393                 $this->objFormParam->setValue('shipping_date_year_' . $shipping['shipping_id'], date("Y", $ts)); 
    394                 $this->arrForm['shipping_date_year_' . $shipping['shipping_id']] = date("Y", $ts); 
    395                 $this->objFormParam->setValue('shipping_date_month_' . $shipping['shipping_id'], date("n", $ts)); 
    396                 $this->arrForm['shipping_date_month_' . $shipping['shipping_id']] = date("n", $ts); 
    397                 $this->objFormParam->setValue('shipping_date_day_' . $shipping['shipping_id'], date("j", $ts)); 
    398                 $this->arrForm['shipping_date_day_' . $shipping['shipping_id']] = date("j", $ts); 
     392                if (!SC_Utils_Ex::isBlank($shipping["shipping_date"])) { 
     393                    $ts = strtotime($shipping["shipping_date"]); 
     394                    $this->objFormParam->setValue('shipping_date_year_' . $shipping['shipping_id'], date("Y", $ts)); 
     395                    $this->arrForm['shipping_date_year_' . $shipping['shipping_id']] = date("Y", $ts); 
     396                    $this->objFormParam->setValue('shipping_date_month_' . $shipping['shipping_id'], date("n", $ts)); 
     397                    $this->arrForm['shipping_date_month_' . $shipping['shipping_id']] = date("n", $ts); 
     398                    $this->objFormParam->setValue('shipping_date_day_' . $shipping['shipping_id'], date("j", $ts)); 
     399                    $this->arrForm['shipping_date_day_' . $shipping['shipping_id']] = date("j", $ts); 
     400                } 
    399401 
    400402                // 配送内容の処理 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

    r19912 r19928  
    111111 
    112112        // カート集計を元に最終計算 
    113         // FIXME 使用ポイント, 配送都道府県, 支払い方法, 手数料の扱い 
    114         $arrData = array_merge($tmpData, $objCartSess->calculate($this->cartKey, $objCustomer, $tmpData['use_point'], $tmpData['deliv_pref'], $tmpData['payment_id'], $tmpData['charge'], $tmpData['discount'])); 
    115         unset($arrData['deliv_fee']); // FIXME 
     113        // FIXME 使用ポイント, 手数料の扱い 
     114        $arrData = array_merge($tmpData, $objCartSess->calculate($this->cartKey, $objCustomer, $tmpData['use_point'], $objPurchase->getShippingPref(), $tmpData['charge'], $tmpData['discount'])); 
     115 
    116116        // 会員ログインチェック 
    117117        if($objCustomer->isLoginSuccess(true)) { 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php

    r19926 r19928  
    131131            SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true); 
    132132        } 
    133         // FIXME 使用ポイント, 配送都道府県, 支払い方法, 手数料の扱い 
    134         $this->arrData = $objCartSess->calculate($this->cartKey, $objCustomer); 
     133        // FIXME 使用ポイント, 手数料の扱い 
     134        $this->arrData = $objCartSess->calculate($this->cartKey, $objCustomer, 0, $objPurchase->getShippingPref()); 
    135135 
    136136        // 購入金額の取得 
  • branches/version-2_5-dev/html/install/sql/create_table_mysql.sql

    r19912 r19928  
    590590    subtotal numeric, 
    591591    discount numeric, 
     592    deliv_fee numeric,   
    592593    charge numeric, 
    593594    use_point numeric, 
     
    645646    subtotal numeric, 
    646647    discount numeric, 
     648    deliv_fee numeric, 
    647649    charge numeric, 
    648650    use_point numeric, 
     
    697699    deliv_id int NOT NULL, 
    698700    time_id int, 
    699     shipping_fee numeric, 
    700701    shipping_time text, 
    701702    shipping_num text, 
  • branches/version-2_5-dev/html/install/sql/create_table_pgsql.sql

    r19912 r19928  
    592592    subtotal numeric, 
    593593    discount numeric, 
     594    deliv_fee numeric, 
    594595    charge numeric, 
    595596    use_point numeric, 
     
    647648    subtotal numeric, 
    648649    discount numeric, 
     650    deliv_fee numeric, 
    649651    charge numeric, 
    650652    use_point numeric, 
     
    699701    deliv_id int NOT NULL, 
    700702    time_id int, 
    701     shipping_fee numeric, 
    702703    shipping_time text, 
    703704    shipping_num text, 
Note: See TracChangeset for help on using the changeset viewer.