私は現在PHP/MySQLで電子商取引サイトを構築中です。最近、私はショッピングカートの統合に取り組んできました。顧客は潜在的な買い手が在庫を確保できるようにしたいので、私は在庫管理システムを作成しました。ショッピングカートは次のように機能します。ショッピングカートと在庫管理
- クライアントは のカートに商品を追加します。
- 数量は、 から入手可能です。
- 他の誰も予約 を購入することはできません。
- クライアント が注文を処理するまで在庫は予約済みです。在庫は がデータベースから削除されます。
- クライアントがカートを放棄した場合、在庫は予備のままです。
- 別のクライアントがアイテムを購入したいが、利用可能な在庫のみが別のクライアントによって予約されている場合、クライアントは20分間使用されていなければ予約済みの在庫を盗むことができます。
私の質問は、このようなシナリオのベストプラクティスは何ですか?私はこれを正しくしていますか?主なことは、顧客が持っていない在庫を売却したくないということです。
私は機能を改善する方法やこれを達成するために他の人が何をしているのかについて議論したいと思っています。
アドバイスをいただきありがとうございます。私は機能を再加工するつもりです。私はそれがこれを行うことについて行くための最善の方法ではなかったことを知っていた。コンチェルトチケットなどのユニークな商品を販売していない限り、フリーズストックはおそらく良い考えではありません。 – jgallant
はい、ソース管理とデータベーストランザクションの場合と同様に、そうしなければならない正当な理由がない限り、デフォルトのオプティミスティックロックになります。 – Jerph