バージョン選択

フォーラム

メニュー

オンライン状況

78 人のユーザが現在オンラインです。 (67 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 78
もっと...

サイト内検索

質問 > フロント機能 > 同時同じ商品を注文する時の在庫の問題

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
hakuei
投稿日時: 2010/8/4 15:23
対応状況: −−−
常連
登録日: 2009/12/7
居住地:
投稿: 36
同時同じ商品を注文する時の在庫の問題
ログインIdが違う二人が
ログインして同じ商品を数量は1にして、同時に注文ボタンを押したとしたら在庫が二つ減るべきなのですが、なぜか注文Id(order_id)は二つできても商品の在庫は1つしか減ってません。


在庫logの結果を見ると、
                
"2010/08/04 15:55:15","510043","87","1","86","227396"
"2010/08/04 15:55:15","510043","87","1","86","227397"

227396(order_id)の在庫数が87個→86個
同時に注文した227397の在庫数が87個→86個

二つの中でどっちかの在庫数が86個→85個にならなきゃいけないのですが・・同時に注文するとこんな状況になってしまします。




同じ瞬間に押した時だけです。
どうすればこの問題を防ぐことができるんでしょう・・

----------------------------------------------------------
  // 在庫を減らす処理
function lfReduceStock(&$objQuery, $arrID, $quantity, $order_id) {
$where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?";
$arrRet = $objQuery->select("*", "dtb_products_class", $where, $arrID);
//$arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 20100414 by.bonee org.
$arrProduct = $objQuery->select('name', 'dtb_products','product_id = ' . $arrRet[0]['product_id']);

// 売り切れエラー
if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) {
$objQuery->rollback();
SC_Utils_Ex::sfDispSiteError(SOLD_OUT, "", true);
// 無制限の場合、在庫はNULL
} elseif($arrRet[0]['stock_unlimited'] == '1') {
$sqlval['stock'] = null;
$objQuery->update("dtb_products_class", $sqlval, $where, $arrID);
// 在庫を減らす
} else {
$sqlval['stock'] = ($arrRet[0]['stock'] - $quantity);
if($sqlval['stock'] == "") {
$sqlval['stock'] = '0';
}
if($sqlval['stock'] < 0){
mb_send_mail('[email protected]';,'stock_error','stock_error');
}
$objQuery->update("dtb_products_class", $sqlval, $where, $arrID);
}
----------------------------------------------------------


このあたりの問題だと思いますが・・
教えて頂ければ助かります。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 同時同じ商品を注文する時の在庫の問題 hakuei 2010/8/4 15:23
     Re: 同時同じ商品を注文する時の在庫の問題 AMUAMU 2010/8/4 16:36
       Re: 同時同じ商品を注文する時の在庫の問題 seasoft 2010/8/4 17:50
         Re: 同時同じ商品を注文する時の在庫の問題 AMUAMU 2010/8/4 19:03
           解決しましたー! hakuei 2010/8/5 12:15

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,418名です
総投稿数は110,392件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1371
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.