7

我计划制作一个通用的购物商店网站,例如较小版本的 alibaba.com,不同的企业可以使用它在他们自己的购物商店版本中列出他们的产品。

在开始这个项目之前,我想确定我要做什么。我想在这里问的一件事是:


1)购物商店是否跟踪所有库存,包括产品的原始成本和产品的售价,还是只跟踪后一个?如果它同时跟踪两者,那么如果特定产品在不同时间以不同的费率进入库存,例如 100 件产品 1 的价格为 100 美元,价格为 150 美元,日期 1 和日期 2 产品 1再次添加到库存中,这次的成本为 120 美元,与以前一样定价为 150 美元。在这种情况下,我将如何将该信息存储在数据库中并计算利润和销货成本 (COGS)。我稍微了解 FIFO LIFO 库存管理,但我不确定它是否会成为购物商店的一部分,或者购物商店是否有责任跟踪销售商品的原始成本与利润。如果是,那么数据库的架构应该是什么样的才能满足这些要求。


2)在典型的购物商店中,单个产品具有不同的属性,并且购物商店知道具有特定属性的产品的当前数量。例如,productId=1 的 T 恤可能有两种不同的颜色,库存分别有 10 件蓝色 T 恤和 5 件黑色 T 恤,其中 productId=1 和 attributeId=1 和 2。我将如何跟踪具有不同属性的同一产品的库存。我的意思是数据库中只有一个 Product 表,该模式将如何适应库存知道具有相同 productId 的不同属性产品的数量的这些要求。


在在这里发布问题之前,我用谷歌搜索了很多。我遇到了一些购物商店的数据库模式,但我不确定他们如何管理库存,记住我的上述两点。请看一下并告诉我路线图是什么样的。最后,我确实想建立自己的购物商店,而不是仅仅出于学习目的以及其他一些原因而使用预建的购物商店。我打算将 ASP.Net MVC 与 sqlserver 一起使用。

请参阅我在谷歌上找到的购物商店模式的附件图片。 SoftSlate 购物车

如果我使用图片中显示的稍微小一点的模式版本,我将如何跟踪和维护库存。他们在哪里指定产品的数量,因为产品表没有它。另外,我将如何保持具有不同属性的相同产品的数量、成本和价格。

谢谢。

4

1 回答 1

9

1) 库存总是反映当前价格。应该有一个购物车来保存正在进行的订单 - 以及一个单独的订单项目表,其中包含特定订单的项目。order items 表中的价格不会更改,因为它与特定订单相关联。因此,您拥有当前定价的当前库存,并且您拥有订单记录和售出商品。

与购物车中的价格相反,因为它们应该反映产品的当前定价,所以应该改变。产品的价格在他们完成交易时被冻结 - 而不是在他们将商品放入购物车时。

以同样的方式,当有人将东西放入购物车时,库存不会减少 - 当交易完成并且商品实际售出时,库存会减少。

2) 在更大的商业世界中,每个“可购买”产品都有唯一的 UPC 代码或 EAN 代码。商家可能有自己的 SKU 用于库存。并且电子商务系统可能对每个产品都有自己的ID。以这种方式看待它 -如果产品有单独的库存,则必须有单独的 ID 才能跟踪该库存。如果一件衬衫有 3 种尺寸和 2 种颜色 - 这相当于货架上的 6 种不同产品。

即使衬衫只有一个网页 - 商家必须以某种方式知道每种特定尺寸和颜色的库存数量。因此对此的一种描述称为父产品 - 子产品。父产品是“衬衫”——描述、图片、页面、评论等。子产品是实际可购买的物品。亚马逊卖家中心对此有一些很好的描述。

我的建议是创建您的系统,以便购物车无法控制价格或库存。有一个最新的产品数据库,您的电子商务系统会不断检查。您将产品 ID 存储在购物车中,然后在任何购物车刷新和结帐时 - 您从产品表中获取价格并检查库存。与将价格从产品页面传递到您的购物车并且不再检查它相比。

于 2014-10-12T21:36:03.490 回答