如何设计一个优雅的价格体系?
一个网站代理多种商品,有多种计价模式,有的商品是一口价的,有的商品是有有效期的(RMB/年
或 RMB/月
),有的商品是按量计的(如 10 个以内是一个单价, 超过十个又是另一个单价),有的商品是按折扣的,这种情况下怎么设计一个比较优雅的价格体系或者商品价格表,来管理所有商品的价格?
商品的价格是固定属性,不受折扣等的影响。 比如你商品的价格是10元, 买10个打9折,商品的价格依旧是10元,无非是购买的价格发生了变化, 最终影响的应该是订单价格。
不管是
商品价格有效期
,还是按量计
,或是折扣
,都属于促销。商品价格是固定的,且是通用属性(即每个商品都有一个价格),但不一定会有促销价格。
因此每个商品都有原始价格放在商品表,促销的价格单独放关联表。
增加 价格模式 表 (price_model),字段有:
商品 表根据需求关联 价格模式 表 ,可以一对一,也可以一对多、多对多,并在关联关系里维护 商品 本身的单价/定价。
商品还是商品 价格是商品的固有属性
如果是时间期限的商品 那肯定也有固定的单价 如 10元/月 或 100元/年 购买多月或者多年 乘对应的数量及折扣 也是很清晰的方案
刚好也有类似需求,关注下
根据楼主需求基本可以推测出价格基本分为三种:普通价格、促销价格、阶梯价(打折属于优惠券范畴,在价格上乘上百分比就可以了)
所以建立三张表:普通价格可直接放在产品表,促销价表存开始时间和结束时间,阶梯价存起订量(即最小产品数量)
取价格的时候按照 促销价 > 阶梯 > 普通价 的优先级 ,如果促销价也涉及到阶梯,那在促销价表也要存起订量(后台设置也需要设置促销价的阶梯)