[Svn-src-all:2729] [version-2_12-dev 21628] #1331 ポイント利用時の選択決済の利用条件の不具合 の修正

yomoro admin @ mail.ec-cube.net
2012年 3月 12日 (月) 15:20:27 JST


Subversion committed to /home/svn/open 21628
http://svn.ec-cube.net/open_trac/changeset/21628
┌────────────────────────────┐
│更新者 :  yomoro                                       │
│更新日時:  2012-03-12 15:20:26 +0900 (月, 12  3月 2012)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#1331 ポイント利用時の選択決済の利用条件の不具合 の修正

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
U   branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php

変更: branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	2012-03-11 10:08:38 UTC (rev 21627)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	2012-03-12 06:20:26 UTC (rev 21628)
@@ -568,6 +568,19 @@
     }
 
     /**
+     * 支払方法の詳細を取得する.
+     *
+     * @param integer $payment_id お支払い方法
+     * @return array 支払方法詳細の配列
+     */
+    function getPaymentsByPaymentsId($payment_id) {
+		$objQuery =& SC_Query_Ex::getSingletonInstance();
+        $where = 'payment_id = ? AND del_flg = 0';
+        $arrValues = array($payment_id);
+        return $objQuery->getRow('*', 'dtb_payment', $where, $arrValues);
+    }
+
+    /**
      * お届け日一覧を取得する.
      */
     function getDelivDate(&$objCartSess, $productTypeId) {

変更: branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	2012-03-11 10:08:38 UTC (rev 21627)
+++ branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	2012-03-12 06:20:26 UTC (rev 21628)
@@ -304,6 +304,7 @@
      * @return array 入力チェック結果の配列
      */
     function lfCheckError(&$objFormParam, $subtotal, $max_point) {
+		$objPurchase = new SC_Helper_Purchase_Ex();
         // 入力データを渡す。
         $arrForm =  $objFormParam->getHashArray();
         $objErr = new SC_CheckError_Ex($arrForm);
@@ -326,6 +327,12 @@
             if (($arrForm['use_point'] * POINT_VALUE) > $subtotal) {
                 $objErr->arrErr['use_point'] = '※ ご利用ポイントがご購入金額を超えています。<br>';
             }
+			// ポイント差し引き後の決済方法チェック
+			$arrPayments = $objPurchase->getPaymentsByPaymentsId($arrForm['payment_id']);
+			if ($arrPayments['rule'] > $subtotal - $arrForm['use_point'] * POINT_VALUE){
+                $objErr->arrErr['use_point'] = '※ 選択した支払方法では、ポイントは'.($subtotal - $arrPayments['rule']).'ポイントまでご利用いただけます。<br>';
+            }
+			
         }
         return $objErr->arrErr;
     }




Svn-src-all メーリングリストの案内