13

現在、PHP/MySQL を使用して e コマース サイトを構築しています。最近、私はショッピング カートの統合に取り組んでいます。クライアントは潜在的なバイヤーが在庫を確実に入手できるようにしたいと考えていたので、在庫管理システムを作成しました。ショッピングカートは次のように機能します。

  • クライアントは、カートにアイテムの数量を追加します。
  • アイテムの数量は、データベース内の利用可能な在庫から予約されます。
  • 他の誰も予約済み在庫を購入することはできません。
  • クライアントが注文を処理するまで、在庫は予約されたままになります。在庫はデータベースから削除されます。
  • クライアントがカートを放棄した場合、在庫は予約されたままになります。
  • 別のクライアントがアイテムを購入したいが、利用可能な在庫のみが別のクライアントによって予約されている場合、20 分間アクティブでない場合、クライアントは予約された在庫を盗むことができます。

私の質問は、この種のシナリオのベスト プラクティスは何ですか? 私はこれを正しくやっていますか?主なことは、クライアントが持っていない株を売りたくないということです。

機能を改善する方法、またはこれを達成するために他の人が何をしているかについて議論したいと考えています。

4

2 に答える 2

3

チェックアウトプロセス中にページをリロードするたびに在庫をチェックし、プロセス中にアイテムが売り切れた場合はエラーメッセージを表示してカートページにリダイレクトします. 注文が確定した場合のみ在庫を減らします。また、注文がキャンセルされた場合は在庫を復元します。

于 2009-08-31T12:19:57.760 に答える