当前位置: 首页>>代码示例>>PHP>>正文


PHP SC_Product_Ex::reduceStock方法代码示例

本文整理汇总了PHP中SC_Product_Ex::reduceStock方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Product_Ex::reduceStock方法的具体用法?PHP SC_Product_Ex::reduceStock怎么用?PHP SC_Product_Ex::reduceStock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SC_Product_Ex的用法示例。


在下文中一共展示了SC_Product_Ex::reduceStock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: registerOrderComplete

 /**
  * 受注登録を完了する.
  *
  * 引数の受注情報を受注テーブル及び受注詳細テーブルに登録する.
  * 登録後, 受注一時テーブルに削除フラグを立てる.
  *
  * @param array          $orderParams    登録する受注情報の配列
  * @param SC_CartSession $objCartSession カート情報のインスタンス
  * @param integer        $cartKey        登録を行うカート情報のキー
  * @param integer 受注ID
  */
 public function registerOrderComplete($orderParams, &$objCartSession, $cartKey)
 {
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     // 不要な変数を unset
     $unsets = array('mailmaga_flg', 'deliv_check', 'point_check', 'password', 'reminder', 'reminder_answer', 'mail_flag', 'session');
     foreach ($unsets as $unset) {
         unset($orderParams[$unset]);
     }
     // 対応状況の指定が無い場合は新規受付
     if (SC_Utils_Ex::isBlank($orderParams['status'])) {
         $orderParams['status'] = ORDER_NEW;
     }
     $orderParams['del_flg'] = '0';
     $orderParams['create_date'] = 'CURRENT_TIMESTAMP';
     $orderParams['update_date'] = 'CURRENT_TIMESTAMP';
     $this->registerOrder($orderParams['order_id'], $orderParams);
     // 詳細情報を取得
     $cartItems = $objCartSession->getCartList($cartKey, $orderParams['order_pref'], $orderParams['order_country_id']);
     // 詳細情報を生成
     $objProduct = new SC_Product_Ex();
     $i = 0;
     $arrDetail = array();
     foreach ($cartItems as $item) {
         $p =& $item['productsClass'];
         $arrDetail[$i]['order_id'] = $orderParams['order_id'];
         $arrDetail[$i]['product_id'] = $p['product_id'];
         $arrDetail[$i]['product_class_id'] = $p['product_class_id'];
         $arrDetail[$i]['product_name'] = $p['name'];
         $arrDetail[$i]['product_code'] = $p['product_code'];
         $arrDetail[$i]['classcategory_name1'] = $p['classcategory_name1'];
         $arrDetail[$i]['classcategory_name2'] = $p['classcategory_name2'];
         $arrDetail[$i]['point_rate'] = $item['point_rate'];
         $arrDetail[$i]['price'] = $item['price'];
         $arrDetail[$i]['quantity'] = $item['quantity'];
         $arrDetail[$i]['tax_rate'] = $item['tax_rate'];
         $arrDetail[$i]['tax_rule'] = $item['tax_rule'];
         $arrDetail[$i]['tax_adjuts'] = $item['tax_adjust'];
         // 在庫の減少処理
         if (!$objProduct->reduceStock($p['product_class_id'], $item['quantity'])) {
             $objQuery->rollback();
             SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true);
         }
         $i++;
     }
     $this->registerOrderDetail($orderParams['order_id'], $arrDetail);
     $objQuery->update('dtb_order_temp', array('del_flg' => 1), 'order_temp_id = ?', array(SC_SiteSession_Ex::getUniqId()));
     return $orderParams['order_id'];
 }
开发者ID:nanasess,项目名称:eccube-SQLAzureSupport-plugin,代码行数:59,代码来源:SC_Helper_Purchase.php


注:本文中的SC_Product_Ex::reduceStock方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。