2010-10-04 67 views
1

在基于网络的电子商务系统中管理交易的一般模式或方法是什么?例如,如何处理多个用户试图购买最后一个项目的情况?您的交易管理策略对于电子商务系统应该如何?

+0

“一般模式或方法”你是专指有限的股票情况或更多?请详细说明您的要求。 – 2010-10-04 10:44:51

+0

我真的只是寻找处理“竞争”交易场景的一般方法。 – flesh 2010-10-05 11:37:24

回答

1

为了防止两个用户从购买同一股票项目,其中只有1库存单位,你需要检查在用户的车中的每个项目都有现货供应的权利,你该项目创建订单和减量股票前。

此操作必须是原子的,并且在任何给定时间只能处理一个订单(阅读:database transaction),如果您使用中央数据库进行库存管理,这应该不成问题。

如果股价已经由一个客户端检查出来的时间用完了,你应该删除从客户端的车中的物品,并将其重定向到自己的购物车,通知他们的情况。

当然,这种情况下,当两个用户都添加相同的股票项目的购物车,其中只有一个单元是在股票和他们中的一个检查出只发生。先到先得。除非您可以在合理的时间内订购新货,否则您通常不应允许客户将产品添加到自己的购物车中,除非您可以在合理的时间内订购新货,但在这种情况下,整个问题没有实际意义。

您可以通过检查库存可用的时刻采取先发制人的做法客户端发起结账,并采取与上述相同的路线。但是,这取决于您的产品的性质以及交易量与取消订单的数量。如果在此期间同一物品的其他订单可能被取消,并且客户退房时库存可用,那么您不希望通过告诉客户没有库存可用而失去销售。更好的办法是在目前没有库存的情况下让订单失效,并通知客户这种情况,毕竟这是罕见的。

+0

然后你如何处理失败?如果股票在您尝试处理订单时不可用,您是否只向用户表示抱歉项不可用? – flesh 2010-10-05 11:36:49

+0

编辑了我的答案。 – 2010-10-05 15:06:50

0

为什么不拿订单,然后获得该项目为客户着想,也许有点晚?你可以赢得重复的客户:)