如何避免多次支付相同的商品

时间:2015-05-24 12:19:35

标签: mysql database database-design

我试图绘制电子商务的数据库设计,并完成订单平台。该公司目前有一个配送中心来履行订单。但他们希望扩展这一点,以便将其商店用于履行过程的一部分。我设计了一个互联网销售数据库"和"存储销售",但我坚持完成互联网订单,我想知道你们中是否有人可以帮助我。

场景:当客户下订单并且配送中心没有要运送给客户的物品库存时,需要从其中一个商店。然后将此项目发送给客户。

但问题是,我不能只从商店取一件商品,然后将商品发送给顾客,因为该商品尚未在商店,商店(商店)库存数据库中销售不会更新。如果我将物品放入自动提款机,物品将从库存表中删除,但同一物品有两个交易 - 一个来自互联网,另一个来自商店。

我想我的问题是,如何处理互联网订单,并避免在同一项目上进行两笔交易?

非常感谢有关此问题的任何有用的指示。

更新:以下是我在Jo Douglass的建议后所做的工作,

Database Design Here

抱歉,我无法发布图片,因为我没有足够的积分。请注意,上述数据库设计尚未完成

2 个答案:

答案 0 :(得分:1)

听起来你有一个交易实体,并且你已经或正在计划有一些逻辑确保当为某个项目创建其中一个时,你的系统知道耗尽相关位置的库存水平(或者分销中心商店。)

您可以使用一个实体来显示一个项目从一个位置(一个商店)转移到另一个位置(一个分销中心),然后创建一些与您现有逻辑非常相似的逻辑 - 在开始时耗尽库存水平位置,并增加目标位置的库存水平。然后,当您执行流程的最后一部分(将项目发送给客户)时,您将有一个交易显示并消耗配送中心的库存水平。根据模型的其余部分,您可以通过更改事务实体或完全创建新实体来实现此目的。

或者,如果这并不能很好地模拟业务中发生的事情,那么您可能只需要修改逻辑(可能还有您的模型 - 很难在不看到现有模型的情况下) 。您可能只需创建一个通过互联网启动的商店交易,而不仅仅是能够通过使用收银机创建商店交易。

答案 1 :(得分:0)

一个想法是继续将该商品视为从商店出售(通过在线交易),并以商品价格记入商店的帐户。经销商可能已经从商店收到了批发价格,所以很开心,商店获得了促销信用(至少有部分运费),所以很开心,你不要&# 39;必须创建新的交易代码或对现有数据库的任何其他修改。