Ignore:
Timestamp:
2009/06/06 03:19:45 (17 years ago)
Author:
Seasoft
Message:

・店舗基本情報の取得処理にランタイムのキャッシュ機構を設け、店舗基本情報を深く渡し回す実装を改めた。
・SC_Utils 冒頭のコメントに従い、インスタンスを生成していた処理を、Helper クラスへ移す。計算処理のみ SC_Utils に残す。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/util/SC_Utils.php

    r17998 r18052  
    629629    } 
    630630 
    631     /* 税金計算 */ 
    632     function sfTax($price, $tax = null, $tax_rule = null) { 
    633         // 店舗基本情報を取得 
    634         static $CONF; 
    635         if ( 
    636                is_null($CONF) 
    637             && (is_null($tax) || is_null($tax_rule)) 
    638         ) { 
    639             $CONF = SC_Helper_DB_Ex::sf_getBasisData(); 
    640         } 
    641          
    642         if (is_null($tax)) { 
    643             $tax = $CONF['tax']; 
    644         } 
    645          
    646         if (is_null($tax_rule)) { 
    647             $tax_rule = $CONF['tax_rule']; 
    648         } 
    649          
     631    /** 
     632     * 税金額を返す 
     633     * 
     634     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfTax() を使用する 
     635     * 
     636     * @param integer $price 計算対象の金額 
     637     * @param integer $tax 税率(%単位) 
     638     *     XXX integer のみか不明 
     639     * @param integer $tax_rule 端数処理 
     640     * @return integer 税金額 
     641     */ 
     642    function sfTax($price, $tax, $tax_rule) { 
    650643        $real_tax = $tax / 100; 
    651644        $ret = $price * $real_tax; 
     
    671664    } 
    672665 
    673     /* 税金付与 */ 
    674     function sfPreTax($price, $tax = null, $tax_rule = null) { 
     666    /** 
     667     * 税金付与した金額を返す 
     668     *  
     669     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfTax() を使用する 
     670     * 
     671     * @param integer $price 計算対象の金額 
     672     * @param integer $tax 税率(%単位) 
     673     *     XXX integer のみか不明 
     674     * @param integer $tax_rule 端数処理 
     675     * @return integer 税金付与した金額 
     676     */ 
     677    function sfPreTax($price, $tax, $tax_rule) { 
    675678        return $price + SC_Utils_Ex::sfTax($price, $tax, $tax_rule); 
    676679    } 
     
    898901    } 
    899902 
    900     /* 加算ポイントの計算式 */ 
    901     function sfGetAddPoint($totalpoint, $use_point, $arrInfo) { 
     903    /** 
     904     * 加算ポイントの計算 
     905     * 
     906     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfGetAddPoint() を使用する 
     907     * 
     908     * @param integer $totalpoint 
     909     * @param integer $use_point 
     910     * @param integer $point_rate 
     911     * @return integer 加算ポイント 
     912     */ 
     913    function sfGetAddPoint($totalpoint, $use_point, $point_rate) { 
    902914        // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式 
    903         $add_point = $totalpoint - intval($use_point * ($arrInfo['point_rate'] / 100)); 
     915        $add_point = $totalpoint - intval($use_point * ($point_rate / 100)); 
    904916 
    905917        if($add_point < 0) { 
Note: See TracChangeset for help on using the changeset viewer.