0

現在ECサイトを運営しているのですが、在庫管理についてアドバイスが欲しいです。

ショッピングカートを次のように機能させたい:

  • CostumerA は、商品 O を数量「1」でカートに追加します。
  • CostumerB は同じ商品をカートに追加しようとしましたが、成功しませんでした。
  • CostumerA がログアウトするか、セッションが期限切れになります。
  • CostumerB は productO を再度追加しようとしましたが、製品が CustomerA のカートに追加されていないため、追加が許可されています ...

私は2つの解決策を思いつきましたが、どちらも私の観点からは信頼できません:

  1. 最初は product.quantity の値を持っているが、カートの動きによって変化するテーブル product にフィールド 'champ' を追加します。
  2. テーブルカートを追加し、カートの動きで更新します。

ご覧のとおり、両方のソリューションには多くの作業が必要です。ショッピング カートを実装するためのより良い方法はありますか。

4

1 に答える 1

3

ユーザーがチェックアウトして商品リストページで在庫を確認した場合にのみ更新する方が良いと思います。

欠点は、次のシナリオです。

  • ユーザー A が商品をカートに追加します
  • ユーザー B が同じアイテムをカートに追加します
  • ユーザー A がチェックアウトし、アイテムが在庫切れになりました
  • ユーザー B はチェックアウトしましたが、商品の在庫がありません

このプロセスのすべての時点で在庫を確認し、ユーザーに状況を知らせる必要があります。

ユーザーがカートに入れて在庫を拘束することは、悪い考えです。ユーザー A が 1 つのアイテムの利用可能な在庫をすべてカートに追加すると、ログアウトするか、ある種のタイムアウトでログアウトするまで、他の誰もそのアイテムを購入できなくなります。

于 2012-08-16T21:10:14.227 に答える