Changeset 22568
- Timestamp:
- 2013/02/18 19:43:15 (11 years ago)
- Location:
- branches/version-2_12-dev
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php
r22567 r22568 58 58 { 59 59 $objQuery =& SC_Query_Ex::getSingletonInstance(); 60 $col = 'payment_id, payment_method, charge, rule_max, upper_rule, note, fix, charge_flg';60 $col = 'payment_id, payment_method, payment_image, charge, rule_max, upper_rule, note, fix, charge_flg'; 61 61 $where = ''; 62 62 if (!$has_deleted) { … … 67 67 $arrRet = $objQuery->select($col, $table, $where); 68 68 return $arrRet; 69 } 70 71 /** 72 * 購入金額に応じた支払方法を取得する. 73 * 74 * @param integer $total 購入金額 75 * @return array 購入金額に応じた支払方法の配列 76 */ 77 function getByPrice($total) 78 { 79 // 削除されていない支払方法を取得 80 $payments = $this->getList(); 81 $arrPayment = array(); 82 foreach ($payments as $data) { 83 // 下限と上限が設定されている 84 if (strlen($data['rule_max']) != 0 && strlen($data['upper_rule']) != 0) { 85 if ($data['rule_max'] <= $total && $data['upper_rule'] >= $total) { 86 $arrPayment[] = $data; 87 } 88 } 89 // 下限のみ設定されている 90 elseif (strlen($data['rule_max']) != 0) { 91 if ($data['rule_max'] <= $total) { 92 $arrPayment[] = $data; 93 } 94 } 95 // 上限のみ設定されている 96 elseif (strlen($data['upper_rule']) != 0) { 97 if ($data['upper_rule'] >= $total) { 98 $arrPayment[] = $data; 99 } 100 } 101 // いずれも設定なし 102 else { 103 $arrPayment[] = $data; 104 } 105 } 106 return $arrPayment; 69 107 } 70 108 -
branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
r22567 r22568 540 540 } 541 541 return SC_Utils_Ex::sfArrayIntersectKeys($arrSrc, $arrKey); 542 }543 544 /**545 * 購入金額に応じた支払方法を取得する.546 *547 * @param integer $total 購入金額548 * @param integer $deliv_id 配送業者ID549 * @return array 購入金額に応じた支払方法の配列550 */551 function getPaymentsByPrice($total, $deliv_id)552 {553 554 $arrPaymentIds = SC_Helper_Delivery_Ex::getPayments($deliv_id);555 if (SC_Utils_Ex::isBlank($arrPaymentIds)) {556 return array();557 }558 559 $objQuery =& SC_Query_Ex::getSingletonInstance();560 561 // 削除されていない支払方法を取得562 $where = 'del_flg = 0 AND payment_id IN (' . SC_Utils_Ex::repeatStrWithSeparator('?', count($arrPaymentIds)) . ')';563 $objQuery->setOrder('rank DESC');564 $payments = $objQuery->select('payment_id, payment_method, rule_max, upper_rule, note, payment_image, charge', 'dtb_payment', $where, $arrPaymentIds);565 $arrPayment = array();566 foreach ($payments as $data) {567 // 下限と上限が設定されている568 if (strlen($data['rule_max']) != 0 && strlen($data['upper_rule']) != 0) {569 if ($data['rule_max'] <= $total && $data['upper_rule'] >= $total) {570 $arrPayment[] = $data;571 }572 }573 // 下限のみ設定されている574 elseif (strlen($data['rule_max']) != 0) {575 if ($data['rule_max'] <= $total) {576 $arrPayment[] = $data;577 }578 }579 // 上限のみ設定されている580 elseif (strlen($data['upper_rule']) != 0) {581 if ($data['upper_rule'] >= $total) {582 $arrPayment[] = $data;583 }584 }585 // いずれも設定なし586 else {587 $arrPayment[] = $data;588 }589 }590 return $arrPayment;591 542 } 592 543 -
branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
r22567 r22568 416 416 $arrResults['arrDelivTime'] = SC_Helper_Delivery_Ex::getDelivTime($deliv_id); 417 417 $total = $objCartSess->getAllProductsTotal($objCartSess->getKey()); 418 $arrResults['arrPayment'] = $objPurchase->getPaymentsByPrice($total, $deliv_id); 418 $payments_deliv = SC_Helper_Delivery_Ex::getPayments($deliv_id); 419 $objPayment = new SC_Helper_Payment_Ex(); 420 $payments_total = $objPayment->getByPrice($total); 421 $arrPayment = array(); 422 foreach ($payments_total as $payment) { 423 if (in_array($payment['payment_id'], $payments_deliv)) { 424 $arrPayment[] = $payment; 425 } 426 } 427 $arrResults['arrPayment'] = $arrPayment; 419 428 $arrResults['img_show'] = $this->hasPaymentImage($arrResults['arrPayment']); 420 429 return $arrResults;
Note: See TracChangeset
for help on using the changeset viewer.