Changeset 18871


Ignore:
Timestamp:
2010/10/27 12:20:04 (13 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18870
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/class/helper/SC_Helper_Purchase.php sc_helper_purchase.p-20101020100530-jyaoa7ch9pdfjqzp-1
data/class/pages/shopping/LC_Page_Shopping_Confirm.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Confirm.php
data/class/util/SC_Utils.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Futil%2FSC_Utils.php
data/mtb_constants_init.php 16505@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fmtb_constants_init.php
html/install/sql/insert_data.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Finsert_data.sql
bzr:mapping-version:
v4
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20101027032001-13l3ma4hbgpfw2fc
bzr:revno:
2351
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:timestamp:
2010-10-27 12:20:01.214999914 +0900
bzr:user-agent:
bzr2.2.0+bzr-svn1.0.3
svn:original-date:
2010-10-27T03:20:01.215000Z
Message:

決済フローの改善(#844)

  • 決済処理中(ORDER_PENDING)の受注ステータスを追加
  • 決済モジュールをロードする前に, 受注情報を dtb_order へ登録するよう修正
Location:
branches/version-2_5-dev
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php

    r18860 r18871  
    3636    /** 
    3737     * 受注を完了する. 
    38      */ 
    39     function completeOrder() { 
     38     * 
     39     * 下記のフローで受注を完了する. 
     40     * 
     41     * 1. トランザクションを開始する 
     42     * 2. カートの内容を検証する. 
     43     * 3. 受注一時テーブルから受注データを読み込む 
     44     * 4. ユーザーがログインしている場合はその他の発送先へ登録する 
     45     * 5. 受注データを受注テーブルへ登録する 
     46     * 6. トランザクションをコミットする 
     47     * 
     48     * 実行中に, 何らかのエラーが発生した場合, 処理を中止しエラーページへ遷移する 
     49     * 
     50     * 決済モジュールを使用する場合は受注ステータスを「決済処理中」に設定し, 
     51     * 決済完了後「新規受付」に変更すること 
     52     * 
     53     * @param integer $orderStatus 受注処理を完了する際に設定する受注ステータス 
     54     * @return void 
     55     */ 
     56    function completeOrder($orderStatus = ORDER_NEW) { 
    4057        $objQuery =& SC_Query::getSingletonInstance(); 
    4158        $objSiteSession = new SC_SiteSession(); 
     
    5471        } 
    5572 
     73        $orderTemp['status'] = $orderStatus; 
    5674        $orderId = $this->registerOrder($orderTemp, $objCartSession, 
    5775                                        $_SESSION['cartKey']); 
    5876        $objQuery->commit(); 
    5977        $objCustomer->updateSession(); 
    60         $this->sendOrderMail($orderId); 
    6178    } 
    6279 
     
    7693     * 受注情報を登録する. 
    7794     * 
     95     * 引数の受注情報を受注テーブル及び受注詳細テーブルに登録する. 
     96     * 登録後, 受注一時テーブルに削除フラグを立て, カートの内容を削除する. 
     97     * 
    7898     * TODO ダウンロード商品の場合の扱いを検討 
     99     * 
     100     * @param array $orderParams 登録する受注情報の配列 
     101     * @param SC_CartSession $objCartSession カート情報のインスタンス 
     102     * @param integer $cartKey 登録を行うカート情報のキー 
     103     * @param integer 受注ID 
    79104     */ 
    80105    function registerOrder($orderParams, &$objCartSession, $cartKey) { 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

    r18860 r18871  
    151151            // 決済方法により画面切替 
    152152            if($payment_type != "") { 
    153                 // TODO 決済方法のモジュールは Plugin として実装したい 
    154153                $_SESSION["payment_id"] = $arrData['payment_id']; 
     154                $objPurchase = new SC_Helper_Purchase_Ex(); 
     155                $objPurchase->completeOrder(ORDER_PENDING); 
    155156                $this->sendRedirect($this->getLocation(URL_SHOP_MODULE)); 
    156157            }else{ 
    157158                // 受注を完了し, 購入完了ページへ 
    158159                $objPurchase = new SC_Helper_Purchase_Ex(); 
    159                 $objPurchase->completeOrder(); 
     160                $objPurchase->completeOrder(ORDER_NEW); 
     161                $objPurchase->sendOrderMail($arrData["order_id"]); 
    160162                $this->sendRedirect($this->getLocation(URL_SHOP_COMPLETE)); 
    161163            } 
  • branches/version-2_5-dev/data/class/util/SC_Utils.php

    r18868 r18871  
    301301    } 
    302302 
    303     /* 前のページで正しく登録が行われたか判定 */ 
     303    /** 
     304     * 前のページで正しく登録が行われたか判定 
     305     * 
     306     * @deprecated SC_SiteSession::isPrePage() を使用して下さい 
     307     */ 
    304308    function sfIsPrePage(&$objSiteSess) { 
    305309        $ret = $objSiteSess->isPrePage(); 
  • branches/version-2_5-dev/data/mtb_constants_init.php

    r18853 r18871  
    413413/** 発送済み */ 
    414414define('ORDER_DELIV', 5); 
     415/** 決済処理中 */ 
     416define('ORDER_PENDING', 7); 
    415417/** 受注ステータス変更の際にポイント等を加算するステータス番号 (発送済み) */ 
    416418define('ODERSTATUS_COMMIT', ORDER_DELIV); 
  • branches/version-2_5-dev/html/install/sql/insert_data.sql

    r18865 r18871  
    567567INSERT INTO mtb_mobile_domain (id, name, rank) VALUES (7, 'willcom.com', 6); 
    568568 
    569 INSERT INTO mtb_order_status (id, name, rank) VALUES (1, '新規受付', 0); 
    570 INSERT INTO mtb_order_status (id, name, rank) VALUES (2, '入金待ち', 1); 
    571 INSERT INTO mtb_order_status (id, name, rank) VALUES (6, '入金済み', 2); 
    572 INSERT INTO mtb_order_status (id, name, rank) VALUES (3, 'キャンセル', 3); 
    573 INSERT INTO mtb_order_status (id, name, rank) VALUES (4, '取り寄せ中', 4); 
    574 INSERT INTO mtb_order_status (id, name, rank) VALUES (5, '発送済み', 5); 
     569INSERT INTO mtb_order_status (id, name, rank) VALUES (7, '決済処理中', 0); 
     570INSERT INTO mtb_order_status (id, name, rank) VALUES (1, '新規受付', 1); 
     571INSERT INTO mtb_order_status (id, name, rank) VALUES (2, '入金待ち', 2); 
     572INSERT INTO mtb_order_status (id, name, rank) VALUES (6, '入金済み', 3); 
     573INSERT INTO mtb_order_status (id, name, rank) VALUES (3, 'キャンセル', 4); 
     574INSERT INTO mtb_order_status (id, name, rank) VALUES (4, '取り寄せ中', 5); 
     575INSERT INTO mtb_order_status (id, name, rank) VALUES (5, '発送済み', 6); 
     576 
    575577 
    576578INSERT INTO mtb_order_status_color (id, name, rank) VALUES (1, '#FFFFFF', 0); 
     
    580582INSERT INTO mtb_order_status_color (id, name, rank) VALUES (5, '#BFDFFF', 4); 
    581583INSERT INTO mtb_order_status_color (id, name, rank) VALUES (6, '#FFFFAB', 5); 
     584INSERT INTO mtb_order_status_color (id, name, rank) VALUES (7, '#FFCCCC', 6); 
    582585 
    583586INSERT INTO mtb_ownersstore_err (id, name, rank) VALUES ('1000', '不明なエラーが発生しました。', 0); 
     
    964967INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('MAIL_TYPE_PC', '1', 255, 'メールアドレス種別'); 
    965968INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('MAIL_TYPE_MOBILE', '2', 256, 'メールアドレス種別'); 
    966 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_NEW', '1', 257, '新規注文'); 
    967 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_PAY_WAIT', '2', 258, '入金待ち'); 
    968 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_PRE_END', '6', 259, '入金済み'); 
    969 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_CANCEL', '3', 260, 'キャンセル'); 
    970 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_BACK_ORDER', '4', 261, '取り寄せ中'); 
    971 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_DELIV', '5', 262, '発送済み'); 
    972969INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ODERSTATUS_COMMIT', 'ORDER_DELIV', 263, '受注ステータス変更の際にポイント等を加算するステータス番号 (発送済み)'); 
    973970INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ADMIN_NEWS_STARTYEAR', '2005', 264, '新着情報管理画面 開始年(西暦) '); 
     
    10761073INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ONLINE_PAYMENT', '"1"', 707, 'ダウンロード販売機能用オンライン決済payment_id(カンマ区切り)'); 
    10771074INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNLOAD_BLOCK', '1024', 708, 'ダウンロード販売機能 ダウンロードファイル読み込みバイト(KB)'); 
     1075INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_NEW', '1', 800, '新規注文'); 
     1076INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_PAY_WAIT', '2', 801, '入金待ち'); 
     1077INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_PRE_END', '6', 802, '入金済み'); 
     1078INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_CANCEL', '3', 803, 'キャンセル'); 
     1079INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_BACK_ORDER', '4', 804, '取り寄せ中'); 
     1080INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_DELIV', '5', 805, '発送済み'); 
     1081INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ORDER_PENDING', '7', 806, '決済処理中'); 
Note: See TracChangeset for help on using the changeset viewer.