私は、購入を完了するためにPayPal APIを使用してRuby on Railsを使用して中古商品のeコマースマーケットプレイスを作成しています。つまり、基本的には、eBayやHalf.comなど、人々が自分のものを売買できるということです。すべてのアイテムが使用されます。ここで私の質問です:中古品はすべての商品がユニークであることを意味します - 少なくとも、売り手は通常、売っている中古品のうちの1つしか運んでいません。それは前にこの種の問題に遭遇しているすべての開発者のために、私は私の質問をもたらします:どのように私はどのような状況に対処する必要があります電子商取引アプリケーションデザイン:中古品のウェブサイトでショッピングカートを管理する方法は?
- 売主は、彼のカートにトレーナーを追加し、彼のトレーナー
- のPerson#1を示しています
- 人#2が今
ペイパルを通じて彼のカートに
オプション1:Person#1が自分のカートにスエットシャツを追加すると、スエットシャツはavailable = false。これの欠点は、ユーザーがカートにアイテムを追加してアイドル状態になることです。従って、人#1のカートが期限切れになるまで、誰もその商品を購入することはできない。
オプション#2:スエットシャツは、PayPalからIPNを取得した場合にのみ使用できないとフラグされます。これの欠点は、理論的には、#1と#2を一度にPayPalからチェックアウトすることができるということです。そのため、トレーナーを購入することになります。IPNを取得した後でも、製品を2回販売しました。
StackOverflowとは何ですか?この分野で経験のある人は誰ですか?ここで
同時に、彼らのカートに同じ製品を追加しようと競合状態を防ぐために、楽観的ロックになっているはずです!非常に詳細な応答をありがとう - 私はタイマーがユーザーに「緊急性の感覚」を与え、それゆえに後ではなく早く購入するインセンティブを与えるため、このアイデアはたくさんあります。 。もっと多くのアイデアを得るためにこの質問を数日間開いたままにしておきますが、これは素晴らしい答えです。どうもありがとう。 +1 – varatis
大歓迎です。しかし、私はこれをクラックするために、さらにパフォーマンスを損なうことなく、もっと良いアイデアを見つけようとしています。これを投稿した後、私はこのプロセスについてもう少し考えて、あなたのパフォーマンスを維持し、そのプロセスを維持し、同期させるアイデアに終わった。投稿の更新部分をご覧ください。 – Surya
それはサーバーで興味深い考えです。 Half.comやAmazonがこのような状況をどのように処理しているのか、あなたの元々のアイデアについては興味があります。どちらのサイトでもチェックをしていませんが、カートに同じアイテムを追加します。 – varatis