一、设计数据库
1、优惠类型表(至少包括优惠类型名称、大类名称、小类名称)
2、优惠信息表(至少包括优惠名称、所属优惠类型名称)
3、优惠构成条件表(至少包括优惠名称、构成条件)
4、优惠目标表(至少包括优惠目标,优惠金额)
二、优惠计算
例如:有一个优惠名称为‘10元优惠券’,购买A商品与B商品,则C商品减10元
1、判断是否有A商品,如果有,A商品添加‘临时标记’,继续
2、判断是否有B商品,如果有,B商品添加‘临时标记’,继续
3、判断是否有C商品,如果有,C商品添加‘临时标记’,C商品价格减10元,继续
4、将所有临时标记修改为正式标记,生成优惠‘10元优惠券’
5、优惠完成
说明:如果1、2、3步有条不满足,则跳出本次优惠计算,并将所有临时标记删除
三、思路规则
1、每个优惠大类使用一套计算规则。
2、优惠小类为未来其它条件作细分,比如小类1则需要用户手动选择,那么这类优惠就是优惠券;如果小类2自动计算,那么这类优惠就是默认优惠;如果小类3需要积分兑换后可使用,那么这类优惠就是积分兑换型优惠。
3、构成条件可以分成很多细分的表,保存多个不同的条件。