求教订单使用优惠券的技术最佳实践

2022-07-18 13:46:30 +08:00
 leeg810312
正在设计订单优惠券方案,产品设计已经有了。

优惠券类型:满 xx 减 xx 、无条件直接减 xx 、xx%折扣(最多减 xx )
优惠券范围:全场、品类、店铺、单品
使用条件:是否新用户、领取数量、是否叠加、退款是否退还、有效期(距离过期时间越近越优先使用)

技术实现还在设计中,包括优惠券数据结构、如何在一个订单中自动发现优惠券组合以获得最大优惠、优惠金额分摊到订单中每个商品、优惠券促销效果统计分析、性能保障(对下单没有明显性能影响)。

求一个技术实现参考(部分或全部),有代码参考最好,不奢望复制粘贴,没有代码有实现思路也可以
1402 次点击
所在节点    编程
5 条回复
bootvue
2022-07-18 14:05:19 +08:00
规则引擎
kfansup
2022-07-18 14:37:42 +08:00
穷举形式的动态规划
leeg810312
2022-07-18 16:00:37 +08:00
@bootvue
@kfansup
我理解规则引擎、动态规划应该是针对获取最大优惠的吧,能举例简要说明过程一下吗?比如一个订单里有 3 件商品 a/b/c 优惠前总价 400 ,有 4 张优惠券,1 张全场满 300 减 15 ,1 张品类券减 10 适用 a 和 b (一个订单中不能与店铺券或单品券同时使用),1 张店铺券减 10 适合 b+c ( b 和 c 同时购买),1 张单品券减 20 适合 b (不与店铺券叠加)

另外,优惠券数据结构有什么建议吗?
kfansup
2022-07-19 09:58:25 +08:00
@leeg810312 根据商品 abc 匹配出所有能用的优惠券,每张优惠券生成子策略,寻找最佳的子策略组合即可。
leeg810312
2022-07-19 21:42:32 +08:00
@kfansup 感谢提供思路

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX