2023,新起航,见字如面。

最近,在倒腾商城相关的项目,说到商城,扩散性的keyword就一个个冒出来了。例如:拼团,促销,优惠券,秒杀,预售,限购~

今天咱们聊聊优惠券这里,其他的后续分析~

所有营销活动的目的都是为了促进商品的销量,主要方法可分为两大类:降价和制造稀缺性,其本质都是利用了人们爱占小便宜的弱点。

那么优惠券的实际意义在哪儿呢?这个优惠券到底优惠吗?咱们一一分析:

1.优惠券的类别

常见的优惠券:商品立减/折扣券(促进单商品的销量)、全店立减/满减/折扣券/店铺收藏券(很明显用来促进全店铺销量)、无门槛立减券

很明显优惠券的本质是降价,但降价除了无门槛券外其他均需要符合一定条件才能使用,这样强迫症就各种凑满减/凑总金额,为了一点优惠,多了些无用的东西。

2.优惠券的设计

回正题,做下数据库设计和一些简单的逻辑分析~

优惠券表(table_coupon)
字段 类型 备注
id bigint 主键
couponName 优惠券名
couponType 满减券/折扣券
couponDiscount int 折扣比例
couponFull 满减标准
couponReduce 减少金额
lifespanType 有效期类别,自领取起多少天有效或截止到日期
daysCount 有效天数
couponEffectiveDate 生效日期

couponExpiryDate

失效日期
isCanGet 是否可以领取,如果不能领取,只能通过兑券中心兑换

specifyProduct

指定商品
shopId 券使用商家,为0则为所有可用
couponCount 券的数量,0为不限制
userCanGetCount 可领取次数
couponStatus 优惠券状态,正常/过期/已发完
…… 一些业务参数补充
用户领取表(table_user_coupon)
字段 类型 备注
id 主键
couponSource 券来源,领取/兑换码兑换
userId 用户主键
couponId

券主键

receiveTime 领取时间
couponEffectiveDate 生效日期

couponExpiryTiem

失效时间
couponStatus 券状态,未使用/已使用/已过期
…… 一些业务参数补充
券兑换码表(table_coupon_exchangeCode)
字段 类型 备注
id bigint 主键
exchangeCode 兑换码
couponId 券主键
exchangeType 单次生效/多次生效
exchangeStatus 状态,正常,单次已兑换,关闭兑换
…… 一些业务参数补充

以上为数据库结构设计,

3.业务逻辑

3.1优惠券的添加

couponType状态不同,对应有不同属性。

当为折扣卷时,couponDiscount不能为空。

当为满减券时,couponFull couponReduce不能为空。couponFull为0时,则为无门槛券。

lifespanType的状态不同,

当lifespanType为至领取起,对应属性daysCount的值不为空。

当lifespanType为时间段,couponEffectiveDate可空即领取生效,couponExpiryDate非空。

isCanGet的逻辑如下:

true:可以自行领取,false:只能通过兑换码兑换。

specifyProduct:如果为空或0,则全商品类有效,否则为指定商品使用。

couponCount:券的总量,为0不限制

userCanGetCount:为可领取次数,0不限制。

3.2优惠券的领取

领取后,存储券Id通过该属性来关联对应券详细信息。

根据lifespanType的不同来计算具体的couponEffectiveDate(生效时间)和couponExpiryTiem(失效时间)

领取时根据userId(用户主键)、couponId(券主键)、couponStatus(券状态)、券的数量来判断是否可以领取。

根据兑换码兑换券,直接兑换即可,逻辑同上。

couponStatus根据定时任务来定时的将过期券失效。

3.3优惠券的使用

在结算过程前,通过将选中商品id数组化,计算总价,来判断是否满足券的使用。

在结算时通过券的不同计算最后实际支付总额,其他照旧即可。

以上是关于优惠券相关的逻辑设计,具体代码后期再补充.

谢谢!

聊聊经常出现的优惠券系统相关推荐

  1. 虾皮二面:如何设计优惠券系统?

    你好,我是 Guide.分享一道群友面试虾皮遇到的关于电商系统设计相关的面试真题. 下面是最近更新的一些面试真题: 招银网络一面:Spring,Spring MVC,Spring Boot 之间什么关 ...

  2. 优惠券系统-第一章-系统设计

    优惠券系统介绍 优惠券在很多系统会用到,本文结合项目实战谈谈优惠券系统怎么做.分为四个章节,第一个章节只介绍优惠券的设计,在第二章介绍优惠券的领取与补券,第三章设计一个类似京东的领券中心.活动中心,第 ...

  3. vivo 亿级优惠券系统架构设计与实践

    作者:vivo互联网开发团队-Yan Chao 一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部 ...

  4. 谈谈优惠券系统的设计

    版权声明: 本文为博主原创文章,未经博主允许不得转载.关注公众号技术汇(ID: jishuhui_2015)可联系到作者. 优惠券系统的核心在于各种券种的管理,发放和使用. 通常的设计角度是从终端用户 ...

  5. 从零开始设计开发优惠券系统

    什么是优惠券系统 说到电商平台上,无人不知优惠券体系,它是一种常见的促销方式,在规定的周期内,购买对应商品类型和额度商品时,下单结算时会减免一定金额.不过要注意的是优惠券系统和营销系统是不同的,营销系 ...

  6. 优惠券系统-第三章-活动中心

    优惠券系统-第三章介绍 本文主要设计一个基于送券,送积分等的活动中心. 活动中心设计 活动中心主要是有各种活动,比如双十一活动,可能参加一个活动会送多个优惠券,某一个活动送大礼包还可能包含了积分(类似 ...

  7. 大厂的优惠券系统是如何设计的?

    1 Scenario 场景 电商系统的促销手段(Electronic Commerce Systems): 优惠券 拼团 砍价 老带新 优惠券的种类 满减券 直减券 折扣券 优惠券系统的核心流程 发券 ...

  8. vivo全球商城优惠券系统架构设计与实践

    业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券就是 ...

  9. 网店系统_优惠券系统业务逻辑架构设计_OctShop免费开源商城系统

    优惠券系统.优惠券核销.线上线下都可使用 优惠券系统:优惠券不仅可以线上抵用,也可以线下核销抵用.优惠券分两种:抵用券和折扣券,商家可自由发布. 线上抵用:买家获取优惠券后,在下单支付时,选择相应可用 ...

最新文章

  1. Dubbo 如何成为连接异构微服务体系的最佳服务开发框架
  2. 按职称分类统计人数access_建设工程监理从业人员超120万!2019年统计公报发布了!...
  3. 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
  4. beautifulsoup_BeautifulSoup爬虫了解一下
  5. 一文看懂华为鸿蒙 OS 2.0
  6. 中小微企业公共信用数据的风险评估
  7. 计算机科学与技术a类学科,清华大学a类学科有哪些?附清华a类学科名单
  8. 小说采集,采集笔趣阁小说网站(www.biquges.cc)
  9. Go语言在大数据时代应用前景
  10. 【AE】2 ICommand和ITool
  11. 如何更改IE窗口初始大小及位置
  12. nodejs中events模块的使用
  13. java lr0分析,LR0分析器实验报告.doc
  14. 关于网络安全行业你知道多少?
  15. 【python PDF解析】python 读取PDF文件内容
  16. C语言编程习惯和修养
  17. openpyxl操作excel 删除行
  18. VCS makefile文件
  19. Python strip()方法
  20. 计算机毕业设计JAVA汽车配件管理系统mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. 14 - MLSQL on k8s(2) - Spark on k8s
  2. 防止安装 Autodesk 桌面应用程序
  3. 2023年二建蓝宝书
  4. UML建模-学以致用(大纲)
  5. MAC 系统安装 Go 语言:从零开始搭建 Go 开发环境
  6. 警告: 未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
  7. 第三方SDK在maven打包时报错
  8. Cisco双ISP双链路NAT接入案例
  9. 西门子S7-1200 PLC双轴算法控制程序 西门子PLC做的电池焊接程序
  10. 逛 CSDN论坛的发现