1

私はショッピング カートの構築を検討し始めたばかりであり、それを設計する際に発生した問題の 1 つは、このシナリオで何をするかということです。たとえば、製品 A の在庫レベルが 5 であるとします。その後、顧客 A が次のページに到達します。彼らは必要な数量を選択でき、3 を選択します。しかし、彼らはまだ注文/支払いなどを確認していません。その後、顧客 B がサイトに来て、数量 4 を選択します。その後、両方の顧客が注文を確認すると、問題が発生します。 、選択を行った後に在庫レベルが減少するため、エラーが発生します。これを処理する標準的な方法は何ですか?おそらく「保留中」フィールドを作成し、ユーザーが数量を選択するたびに追加して、確認またはキャンセルするまで在庫を確保することですか? キャンセルせずにサイトを離れた場合はどうなりますか?

すでにこの問題に対処している可能性のある人からのいくつかの指針を探しています。

4

4 に答える 4

1

特定の製品の利用可能な在庫を計算するときは、「在庫予約」を考慮する必要があります。特定のショッピングカートの行を「予約」モードにするタイミングと、再度「解放」するタイミングを決定します。

ユーザーが支払いを開始した瞬間に在庫が「予約」され、ユーザーが支払いキャンセルしたときに「解放」または支払いが成功したときに「発行」されるストアを実装しました。

ご予約の際は在庫確認をお忘れなく。

于 2012-04-13T11:55:50.500 に答える
0

ユーザーが注文確認ページに到達するまでユーザーアイテムをロックしないことをお勧めします。適切なロック期間で、注文が完了する前に特定の期間予約されたアイテムをマークします。そうしないと、アイテムが在庫に反映されます。 。Amazon Cartのヘルプページを見ると、次のようになっています。

ショッピングカートにアイテムを入れても、そのアイテムは保持されません。アイテムは、[注文する]ボタンをクリックして、注文を受け取ったことを確認する電子メールを受け取った後にのみ、注文のために予約されます。

極端な場合は、最終注文が完了するまで予約しないか、支払いページに到達したときにのみ予約することです。

ブロッキングウィンドウを最小化し、競合があるシナリオを処理する必要があります(バックオーダーオプションを提供することにより)

于 2012-04-13T12:04:12.990 に答える
0

上手、

ユーザーが注文を確認しない限り、在庫を予約しないでください。私があなたの前に製品を購入した場合、誰かがすでにそれを購入したこと、または単に十分な在庫がないことを知らせるメッセージが表示されるはずです。

それはたくさんの頭痛のためにあなたを解放します

于 2012-04-13T11:49:06.790 に答える
0

私が理解しているのは、あなたはショッピングカードを実装したいと思っていて、複数のユーザーがログに記録し、物を買うためにトレイにいる間に問題に直面しているということです:)

ここに解決策があります..ショッピングカードがユーザー間で共有されているため、問題が発生します。ログに記録されたユーザーのショッピングカードのtmpリストを維持するだけです。そして、彼らが支払う準備ができている間に、それをショッピングカードに追加して詳細を表示します。

注:これを行う間、在庫を処理する必要があります。

于 2012-04-13T11:51:08.367 に答える