Changeset 22554 for branches/version-2_12-dev/data/class
- Timestamp:
- 2013/02/15 21:45:14 (11 years ago)
- Location:
- branches/version-2_12-dev/data/class
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/SC_CartSession.php
r22553 r22554 636 636 && !SC_Utils_Ex::isBlank($deliv_pref) 637 637 && !SC_Utils_Ex::isBlank($deliv_id)) { 638 $results['deliv_fee'] += $this->sfGetDelivFee($deliv_pref, $deliv_id);638 $results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id); 639 639 } 640 640 … … 733 733 return in_array($product_type_id, $this->getKeys()); 734 734 } 735 736 /**737 * 都道府県から配送料金を取得する.738 *739 * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列740 * @param integer $deliv_id 配送業者ID741 * @return string 指定の都道府県, 配送業者の配送料金742 */743 function sfGetDelivFee($pref_id, $deliv_id = 0) {744 $objQuery =& SC_Query_Ex::getSingletonInstance();745 if (!is_array($pref_id)) {746 $pref_id = array($pref_id);747 }748 $sql = <<< __EOS__749 SELECT T1.fee AS fee750 FROM dtb_delivfee T1751 JOIN dtb_deliv T2752 ON T1.deliv_id = T2.deliv_id753 WHERE T1.pref = ?754 AND T1.deliv_id = ?755 AND T2.del_flg = 0756 __EOS__;757 $result = 0;758 foreach ($pref_id as $pref) {759 $result += $objQuery->getOne($sql, array($pref, $deliv_id));760 }761 return $result;762 }763 764 735 } -
branches/version-2_12-dev/data/class/helper/SC_Helper_Delivery.php
r22553 r22554 55 55 56 56 // お届け時間の取得 57 $col = 'deliv_time'; 58 $where = 'deliv_id = ? ORDER BY time_id'; 59 $table = 'dtb_delivtime'; 60 $arrDeliv['deliv_time'] = $objQuery->select($col, $table, $where, array($deliv_id)); 57 $arrDeliv['deliv_time'] = $this->getDelivTime($deliv_id); 61 58 62 59 // 配送料金の取得 63 $col = 'fee'; 64 $where = 'deliv_id = ? ORDER BY pref'; 65 $table = 'dtb_delivfee'; 66 $arrDeliv['fee'] = $objQuery->select($col, $table, $where, array($deliv_id)); 60 $arrDeliv['fee'] = $this->getDelivFeeList($deliv_id); 67 61 68 62 // 支払方法 69 $col = 'payment_id'; 70 $where = 'deliv_id = ? ORDER BY rank'; 71 $table = 'dtb_payment_options'; 72 $arrRet = $objQuery->select($col, $table, $where, array($deliv_id)); 73 $arrPaymentIds = array(); 74 foreach ($arrRet as $val) { 75 $arrPaymentIds[] = $val['payment_id']; 76 } 77 $arrDeliv['payment_ids'] = $arrPaymentIds; 63 $arrDeliv['payment_ids'] = $this->getPayments($deliv_id); 78 64 79 65 return $arrDeliv; … … 271 257 return SC_Helper_DB_Ex::sfGetIDValueList('dtb_deliv', 'deliv_id', $type); 272 258 } 259 260 /** 261 * 配送業者IDからお届け時間の配列を取得する. 262 * 263 * @param integer $deliv_id 配送業者ID 264 * @return array お届け時間の配列 265 */ 266 public static function getDelivTime($deliv_id) { 267 $objQuery =& SC_Query_Ex::getSingletonInstance(); 268 $objQuery->setOrder('time_id'); 269 $results = $objQuery->select('time_id, deliv_time', 270 'dtb_delivtime', 271 'deliv_id = ?', array($deliv_id)); 272 $arrDelivTime = array(); 273 foreach ($results as $val) { 274 $arrDelivTime[$val['time_id']] = $val['deliv_time']; 275 } 276 return $arrDelivTime; 277 } 278 279 /** 280 * 配送業者ID から, 有効な支払方法IDを取得する. 281 * 282 * @param integer $deliv_id 配送業者ID 283 * @return array 有効な支払方法IDの配列 284 */ 285 public static function getPayments($deliv_id) { 286 $objQuery =& SC_Query_Ex::getSingletonInstance(); 287 $objQuery->setOrder('rank'); 288 return $objQuery->getCol('payment_id', 'dtb_payment_options', 289 'deliv_id = ?', 290 array($deliv_id), MDB2_FETCHMODE_ORDERED); 291 } 292 293 /** 294 * 都道府県から配送料金を取得する. 295 * 296 * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列 297 * @param integer $deliv_id 配送業者ID 298 * @return string 指定の都道府県, 配送業者の配送料金 299 */ 300 public static function getDelivFee($pref_id, $deliv_id = 0) { 301 $objQuery =& SC_Query_Ex::getSingletonInstance(); 302 if (!is_array($pref_id)) { 303 $pref_id = array($pref_id); 304 } 305 $sql = <<< __EOS__ 306 SELECT T1.fee AS fee 307 FROM dtb_delivfee T1 308 JOIN dtb_deliv T2 309 ON T1.deliv_id = T2.deliv_id 310 WHERE T1.pref = ? 311 AND T1.deliv_id = ? 312 AND T2.del_flg = 0 313 __EOS__; 314 $result = 0; 315 foreach ($pref_id as $pref) { 316 $result += $objQuery->getOne($sql, array($pref, $deliv_id)); 317 } 318 return $result; 319 } 320 321 /** 322 * 配送業者ID から, 配送料金の一覧を取得する. 323 * 324 * @param integer $deliv_id 配送業者ID 325 * @return array 配送料金の配列 326 */ 327 public static function getDelivFeeList($deliv_id) { 328 $objQuery =& SC_Query_Ex::getSingletonInstance(); 329 $objQuery->setOrder('pref'); 330 $col = 'fee'; 331 $where = 'deliv_id = ?'; 332 $table = 'dtb_delivfee'; 333 return $objQuery->getCol($col, $table, $where, array($deliv_id), 334 MDB2_FETCHMODE_ORDERED); 335 } 273 336 } -
branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
r22553 r22554 532 532 function getPaymentsByPrice($total, $deliv_id) { 533 533 534 $arrPaymentIds = $this->getPayments($deliv_id);534 $arrPaymentIds = SC_Helper_Delivery_Ex::getPayments($deliv_id); 535 535 if (SC_Utils_Ex::isBlank($arrPaymentIds)) { 536 536 return array(); … … 654 654 655 655 /** 656 * 配送業者IDからお届け時間の配列を取得する.657 *658 * @param integer $deliv_id 配送業者ID659 * @return array お届け時間の配列660 */661 function getDelivTime($deliv_id) {662 $objQuery =& SC_Query_Ex::getSingletonInstance();663 $objQuery->setOrder('time_id');664 $results = $objQuery->select('time_id, deliv_time',665 'dtb_delivtime',666 'deliv_id = ?', array($deliv_id));667 $arrDelivTime = array();668 foreach ($results as $val) {669 $arrDelivTime[$val['time_id']] = $val['deliv_time'];670 }671 return $arrDelivTime;672 }673 674 /**675 * 配送業者ID から, 有効な支払方法IDを取得する.676 *677 * @param integer $deliv_id 配送業者ID678 * @return array 有効な支払方法IDの配列679 */680 function getPayments($deliv_id) {681 $objQuery =& SC_Query_Ex::getSingletonInstance();682 $objQuery->setOrder('rank');683 return $objQuery->getCol('payment_id', 'dtb_payment_options',684 'deliv_id = ?',685 array($deliv_id), MDB2_FETCHMODE_ORDERED);686 }687 688 /**689 656 * 配送情報の登録を行う. 690 657 * -
branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_DeliveryInput.php
r22553 r22554 216 216 217 217 // お届け時間 218 $objFormParam->setParamList($arrDeliv['deliv_time'], 'deliv_time'); 218 $deliv_times = array(); 219 foreach ($arrDeliv['deliv_time'] as $value) { 220 $deliv_times[]['deliv_time'] = $value; 221 } 222 $objFormParam->setParamList($deliv_times, 'deliv_time'); 219 223 unset($arrDeliv['deliv_time']); 220 224 // 配送料金 221 $objFormParam->setParamList($arrDeliv['fee'], 'fee'); 225 $deliv_fee = array(); 226 foreach ($arrDeliv['fee'] as $value) { 227 $deliv_fee[]['fee'] = $value; 228 } 229 $objFormParam->setParamList($deliv_fee, 'fee'); 222 230 unset($arrDeliv['fee']); 223 231 // 支払方法 -
branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Disp.php
r22543 r22554 126 126 $this->arrForm = $objFormParam->getFormParamList(); 127 127 $this->arrAllShipping = $objFormParam->getSwapArray(array_merge($this->arrShippingKeys, $this->arrShipmentItemKeys)); 128 $this->arrDelivTime = $objPurchase->getDelivTime($objFormParam->getValue('deliv_id'));128 $this->arrDelivTime = SC_Helper_Delivery_Ex::getDelivTime($objFormParam->getValue('deliv_id')); 129 129 $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); 130 130 -
branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
r22543 r22554 301 301 $this->arrAllShipping = $objFormParam->getSwapArray(array_merge($this->arrShippingKeys, $this->arrShipmentItemKeys)); 302 302 $this->top_shipping_id = array_shift((array_keys($this->arrAllShipping))); 303 $this->arrDelivTime = $objPurchase->getDelivTime($objFormParam->getValue('deliv_id'));303 $this->arrDelivTime = SC_Helper_Delivery_Ex::getDelivTime($objFormParam->getValue('deliv_id')); 304 304 $this->tpl_onload .= $this->getAnchorKey($objFormParam); 305 305 if ($arrValuesBefore['payment_id']) … … 770 770 $arrAllShipmentItem = $objFormParam->getSwapArray($this->arrShipmentItemKeys); 771 771 772 $arrDelivTime = $objPurchase->getDelivTime($objFormParam->getValue('deliv_id'));772 $arrDelivTime = SC_Helper_Delivery_Ex::getDelivTime($objFormParam->getValue('deliv_id')); 773 773 //商品単価を複数配送にも適応 774 774 $arrShippingValues = array(); -
branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
r22553 r22554 403 403 function getSelectedDeliv(&$objPurchase, &$objCartSess, $deliv_id) { 404 404 $arrResults = array(); 405 $arrResults['arrDelivTime'] = $objPurchase->getDelivTime($deliv_id);405 $arrResults['arrDelivTime'] = SC_Helper_Delivery_Ex::getDelivTime($deliv_id); 406 406 $total = $objCartSess->getAllProductsTotal($objCartSess->getKey()); 407 407 $arrResults['arrPayment'] = $objPurchase->getPaymentsByPrice($total, $deliv_id);
Note: See TracChangeset
for help on using the changeset viewer.