V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leeg810312
V2EX  ›  编程

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

  •  
  •   leeg810312 · 2022-07-18 13:46:30 +08:00 · 1394 次点击
    这是一个创建于 852 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正在设计订单优惠券方案,产品设计已经有了。

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

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

    求一个技术实现参考(部分或全部),有代码参考最好,不奢望复制粘贴,没有代码有实现思路也可以
    5 条回复    2022-07-19 21:42:32 +08:00
    bootvue
        1
    bootvue  
       2022-07-18 14:05:19 +08:00
    规则引擎
    kfansup
        2
    kfansup  
       2022-07-18 14:37:42 +08:00
    穷举形式的动态规划
    leeg810312
        3
    leeg810312  
    OP
       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
        4
    kfansup  
       2022-07-19 09:58:25 +08:00
    @leeg810312 根据商品 abc 匹配出所有能用的优惠券,每张优惠券生成子策略,寻找最佳的子策略组合即可。
    leeg810312
        5
    leeg810312  
    OP
       2022-07-19 21:42:32 +08:00 via Android
    @kfansup 感谢提供思路
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.