聊聊经常出现的优惠券系统
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数组化,计算总价,来判断是否满足券的使用。
在结算时通过券的不同计算最后实际支付总额,其他照旧即可。
以上是关于优惠券相关的逻辑设计,具体代码后期再补充.
谢谢!
聊聊经常出现的优惠券系统相关推荐
- 虾皮二面:如何设计优惠券系统?
你好,我是 Guide.分享一道群友面试虾皮遇到的关于电商系统设计相关的面试真题. 下面是最近更新的一些面试真题: 招银网络一面:Spring,Spring MVC,Spring Boot 之间什么关 ...
- 优惠券系统-第一章-系统设计
优惠券系统介绍 优惠券在很多系统会用到,本文结合项目实战谈谈优惠券系统怎么做.分为四个章节,第一个章节只介绍优惠券的设计,在第二章介绍优惠券的领取与补券,第三章设计一个类似京东的领券中心.活动中心,第 ...
- vivo 亿级优惠券系统架构设计与实践
作者:vivo互联网开发团队-Yan Chao 一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部 ...
- 谈谈优惠券系统的设计
版权声明: 本文为博主原创文章,未经博主允许不得转载.关注公众号技术汇(ID: jishuhui_2015)可联系到作者. 优惠券系统的核心在于各种券种的管理,发放和使用. 通常的设计角度是从终端用户 ...
- 从零开始设计开发优惠券系统
什么是优惠券系统 说到电商平台上,无人不知优惠券体系,它是一种常见的促销方式,在规定的周期内,购买对应商品类型和额度商品时,下单结算时会减免一定金额.不过要注意的是优惠券系统和营销系统是不同的,营销系 ...
- 优惠券系统-第三章-活动中心
优惠券系统-第三章介绍 本文主要设计一个基于送券,送积分等的活动中心. 活动中心设计 活动中心主要是有各种活动,比如双十一活动,可能参加一个活动会送多个优惠券,某一个活动送大礼包还可能包含了积分(类似 ...
- 大厂的优惠券系统是如何设计的?
1 Scenario 场景 电商系统的促销手段(Electronic Commerce Systems): 优惠券 拼团 砍价 老带新 优惠券的种类 满减券 直减券 折扣券 优惠券系统的核心流程 发券 ...
- vivo全球商城优惠券系统架构设计与实践
业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券就是 ...
- 网店系统_优惠券系统业务逻辑架构设计_OctShop免费开源商城系统
优惠券系统.优惠券核销.线上线下都可使用 优惠券系统:优惠券不仅可以线上抵用,也可以线下核销抵用.优惠券分两种:抵用券和折扣券,商家可自由发布. 线上抵用:买家获取优惠券后,在下单支付时,选择相应可用 ...
最新文章
- Dubbo 如何成为连接异构微服务体系的最佳服务开发框架
- 按职称分类统计人数access_建设工程监理从业人员超120万!2019年统计公报发布了!...
- 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
- beautifulsoup_BeautifulSoup爬虫了解一下
- 一文看懂华为鸿蒙 OS 2.0
- 中小微企业公共信用数据的风险评估
- 计算机科学与技术a类学科,清华大学a类学科有哪些?附清华a类学科名单
- 小说采集,采集笔趣阁小说网站(www.biquges.cc)
- Go语言在大数据时代应用前景
- 【AE】2 ICommand和ITool
- 如何更改IE窗口初始大小及位置
- nodejs中events模块的使用
- java lr0分析,LR0分析器实验报告.doc
- 关于网络安全行业你知道多少?
- 【python PDF解析】python 读取PDF文件内容
- C语言编程习惯和修养
- openpyxl操作excel 删除行
- VCS makefile文件
- Python strip()方法
- 计算机毕业设计JAVA汽车配件管理系统mybatis+源码+调试部署+系统+数据库+lw