2

我正在尝试为我的学校项目创建一个电子商务网站,但我对何时更新数据库中的数量感到困惑。我何时将产品添加到购物车或何时完成订单?如果我在何时减少数量我将产品添加到购物车并且客户没有完成订单,那么我必须再次增加数量。所以唯一的方法是在客户完成订单时更新数量,如果 2 个客户一起进入最后一页然后输入 if 语句来检查数量以完成订单,如果 2 位客户中的一个拿走了最后一个产品,那么另一个会收到一条消息,例如“我们非常抱歉,最后一个产品在 2 分钟前售出” . 这是正确的思维方式吗?还有其他想法吗?(对不起我的英语。)

4

4 回答 4

1

您基本上有两个选项,它们都是有效的:

1)如果您销售的产品需求量很大(您的数量有限,并且预计会有很多用户购买它,例如音乐会门票或航班机票),您可以在用户购买时“预订”产品选择它(这就是ticketmaster 处理它的方式)。这总是通过与预订相关联的计时器来完成,因此如果用户没有完成购买,该项目将再次可用,并且其他用户可以购买它

2)如果你有大量库存并且认为很多用户不会对某个特定项目感兴趣,你可以只存储用户在会话中选择的项目,一旦一切都好,减少项目的数量分贝。在这里,您还应该考虑何时对信用卡收费...如果您收费然后减少,您可能不得不将其作废(您需要支付费用)。因此,如果您没有用完用户订购的东西,那么在这种情况下,理想的做法是减少库存并向数据库收费。如果你这样做了,你应该向用户解释情况,让他找到“类似的物品”或做任何你认为最好的事情......但是,我不建议仍然处理剩余物品的发票,它可能不会对用户有感觉(即,购买一台电脑和一个背包,电脑不可用......

无论如何,希望它有所帮助。

于 2012-04-12T23:14:07.197 回答
0

这就是所谓的竞争条件。

在这种情况下,您需要为第一个客户更新库存以完成他们的交易并通知其他客户库存已消失,或者使用您的第一个想法并减少库存,但如果客户取消重新增加。两者都应该与计划一起工作。

于 2012-04-12T23:10:47.367 回答
0

嗯,这个问题的答案与这家特定商店的政策密切相关。这里有几种可能性:

  • 完全防止缺货(正如你所建议的那样;有点“打盹,你输了”的态度)
  • 将订单分成两部分——一个可以立即完成,另一个不能(您甚至可以预先验证延期交货的部分,并在发货时进行后验证)
  • 警告客户,让他们选择做什么

还有一些,但这是您需要评估的“政策决定”路线。

如果它们是独特的或已停产的商品,那么您需要相应地进行调整(显然客户不能等到他们返回库存)。

我也这样做了,客户可以要求在商品返回库存时得到通知。

我会建议做任何事情来最大化你的转化率,并限制你的客户的挫败感。

于 2012-04-12T23:15:07.260 回答
0

当我尝试建立我的第一家电子商务商店时,我曾经遇到过类似的问题。我做的一件事是在数据库中提供一个临时存储这样的 current_stock 并将其用作伪库存。当一位客户将该商品放入购物车时,该数量将从伪存储中扣除,并在订购时扣除实际库存。伪股票成为浏览网站的用户可见的股票。

希望能帮助到你!

于 2012-04-13T02:18:08.720 回答