【发布时间】:2011-12-30 18:35:46
【问题描述】:
我在为我们的 SKU(库存单位)实施基于政策、基于时间和基于客户的定价时遇到问题。到目前为止,我已经为基于时间的定价创建了下表
SKUPrices
ID Pk
SKUID FK_To_Sku
DateFrom
DateTo
Price
我相信这个架构可以很好地处理基于时间的定价(不过我需要社区对其进行审查),但我不知道如何处理基于客户的定价(如果我们想以补贴价格向一些客户出售少量 sku时间段)和基于政策的定价(如果在某个时间段内根据某些政策出售,则对 sku 应用补贴费率)。
【问题讨论】:
-
如果 SKU 的价格有冲突怎么办?你是根据最高/最低价格来挑选的吗?
-
某个特定时间段的价格将是唯一的,因为我们将确保时间段不重叠。
-
政策和客户定价能否同时对同一个 SKU 生效?如果没有,那么将 customerID 和 PolicyID 添加到 SKUPrices 表似乎可以解决问题。这假设业务规则已经到位,表明当客户购买某物时要选择什么订单,或者组织可能只是遵循最便宜的方法;在这种情况下,由于可能有 3 种不同的选择,假设客户有资格获得基于客户和基于政策的价格,系统将选择相关日期范围的最小值(价格)。
-
是的,基于客户和政策的定价可以同时生效
-
例如:SKU 1234 的基本价格为 12.50,介于 1/1/2012 00:00:00 和 1/31/2012 23:59:59 之间。客户 A 和 B 的客户定价 11.50 对 SKU 1234 在 2012 年 1 月 15 日 00:00:00 和 2012 年 1 月 31 日 23:59:59 之间生效,针对 SKU 1234 的政策规定将价格再降低 10%适用于 2012 年 1 月 24 日 00:00:00 至 2012 年 1 月 31 日 23:59:59 之间的购买。如果在 2012 年 1 月 1 日进行购买,则为 12.50。制作于 2012 年 1 月 16 日,客户 A B 为 11:50,其他客户为 12:50。如果客户 A/B 在 2012 年 1 月 30 日购买,则为 11.50-10%,其他人为 12.50-10%。这是正确的吗?
标签: sql database database-design architecture