问题描述
我这是个优惠券的模块
优惠券有3种:指定商品优惠券;供应商优惠券;全场通用优惠券;
每个订单只能使用一张优惠券
使用优先规则
1,金额最大并且符合条件优先使用
2,金额一样的话优先按 指定的商品 - 指定供应商 - 全场通用 从高至低优先级使用
现在假设 我在购物车同时结算2个不同供应商的商品(不同供应商会分订单)A 和 B ,现在我有2张符合条件的优惠券,一张指定A商品的优惠券 20元,一张全场通用券30元,按照之前的规则,会自动选择A商品使用全场优惠券,B就不能使用优惠券了。
但是如果A用20的优惠券,B也能用通用优惠券。我卡在这里了- -
求大佬指点迷津!!我是个小渣渣,我渴望进步!
说一下算法思路吧, 以下python伪代码
订单数组 A (A0, A1...An) n个, 优惠券数组 B (B0,B1...Bm), 其中B0 (金额、类型),类型:A0~An或c0~ck指定供应商或M全场通用。