[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 メーリングリストの案内