在基于网络的电子商务系统中管理交易的一般模式或方法是什么?例如,如何处理多个用户尝试购买最后一个项目的情况?
答案 0 :(得分:1)
为了防止两个用户购买只有1个库存单位的同一库存商品,您需要在创建订单之前检查用户购物车中的每个商品是否有库存,并减少该商品的库存。
此操作必须是原子操作,并且在任何给定时间只能处理一个订单(读取:database transaction),如果您使用中央数据库进行库存管理,这应该不是问题。
如果客户结账时库存已用完,您应该从客户购物车中取出商品并将其重定向到购物车,告知他们情况。
当然,这种情况只发生在两个用户都将相同的库存物品添加到他们的购物车中时,其中只有一个单元有库存并且其中一个库存检出。先到先得。如果当时没有库存,您通常不允许客户将产品添加到购物车,除非您可以在合理的时间内订购新库存,但在这种情况下,整点都没有实际意义。
您可以通过在客户启动结账时检查库存是否可用并采取与上述相同的路线来采取先发制人的方法。但是,这取决于产品的性质以及交易量与已取消订单的数量。如果同时取消同一物品的另一个订单并且在客户退房时库存变得可用,那么您不希望通过告知客户没有库存可用来丢失销售。最好让订单在目前没有库存时失败,并告知客户情况,这种情况很少见。
答案 1 :(得分:0)
为什么不接受订单,然后为客户获取该项目,也许稍后?您可以赢得重复客户:)