[已解决] 各位大佬,公司项目优惠券类型比较多,比如有几折、满减、抵扣几天、延长几天等等,那么商品下单有必要针对不同类型做设计模式吗?

优惠券用途有下单、会员、以及押金等
那么怎么设计呢?用什么设计模式解决

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
这辈子不打工
最佳答案

找了半天,都是说用策略模式,根据不同的优惠券类型设置不同的策略,先这样吧

3年前 评论
讨论数量: 10

有必要,这种复杂的优惠逻辑,应该尽早拆分。

3年前 评论
这辈子不打工 (楼主) 3年前
MArtian (作者) 3年前

有必要 不然后期逻辑越加越复杂变成了一坨

3年前 评论

有必要,看看狗东优惠券

满xx减xx (全分类,部分分类,时间限制)

东券,京券,店铺券,单商品优惠券,某分类优惠券等等

这些优惠券都领了,还要计算哪个是最优惠的,自动选择,

擦,套路太多了,跟刚开始 满减体验差了很多,现在的满减各种限制。

怎么拆分?如何设计,计算和使用呢?

3年前 评论

我也来学习下~

3年前 评论
这辈子不打工

找了半天,都是说用策略模式,根据不同的优惠券类型设置不同的策略,先这样吧

3年前 评论
sanders

先捋清楚需求,看看规则中哪些是组合哪些单选,然后拆分逻辑,以我们为例,这边的需求将规则分为使用规则和领取规则,其中使用规则又分成有效期、商品、订单、订单商品、门店和用户这几类可以相互组合,每类规则里面又只能选择其中一种。每个规则里面要把验证、配置、筛选、显示等逻辑都实现一遍。

file

3年前 评论
Imuyu 3年前
sanders (作者) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!