首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

优惠券系统设计

前言 对于一个电商系统,一般都会有很多的促销手段,包括优惠券,拼团,砍价,老带新等等。...我们在线教育的产品(腾讯课堂,企鹅辅导等)作为一个电商系统(商品比较单一,主要是卖课),自然也少不了会接入这些促销系统来提升我们的活跃用户与流水,就腾讯课堂而言,优惠券是众多促销手段中使用频次最高,优惠金额最多的一种手段了...对于一个优惠券系统,其中最核心的操作就三个发券--->领券----->使用 发券 谁来发? 一般来说有商户可以发,平台也可以发。...流程交互 那么对于一个优惠券系统,一般的流程交互如下: image.png 需要解决的问题 那么对于一个优惠券系统,需要解决的问题主要有两点 安全性: 优惠券超: 高并发的情况下优惠券领取的数量超过了发行量...后记 本文主要讨论了一个优惠券系统设计时候该考虑的一些问题,除了优惠券的一些属性细节之外,重点讨论了下一个优惠券系统再高并发时候的安全性 和可扩展性。

4.3K75
您找到你想要的搜索结果了吗?
是的
没有找到

设计电商平台优惠券系统

系统概览 ? 优惠券的投放方式有多种,本文采用的是活动页送券这种形式。...一、创建优惠券 优惠券是一套规则的组合,创建优惠券优惠券系统设计的第一步,主要有以下几部分组成:基本信息、优惠类型、使用范围、有效期等。 1....直领指不需要用户点击“领取”按钮,进到优惠券页面,优惠券自动落到个人账户,即系统自动发放,常见于活动页或新打开应用的场景下。...点击领取顾名思义就是需要用户点击一下“领取”按钮,优惠券才会落入个人账户。 领取通常伴随着消息通知,如:短信、微信公众号,因此通知系统和营销系统也要打通。 ?...五、用户使用 在订单填写页,系统会默认给出面额最大的优惠券,金额相同优先使用先过期的券。用户也可自己选择是否使用优惠券或其他可用优惠券

3.3K31

优惠券设计:优惠券模板篇

一、框架结构 前文对优惠券模板规则进行了总结,优惠券规则主要可分为:优惠规则、有效期和余量控制。...满额限制为0时即为无满额要求的优惠券,通常称为立减券或无门槛优惠券。 2. 折扣券 优惠金额为折扣模式的优惠券。...指定商品 指定商品模式,优惠券模板和特定商品建立关联。仅指定的多个商品可使用优惠券。例如上文提到的酒仙网合作类优惠券,仅特定商品可用。 2....余量控制 余量控制模块,控制优惠券模板生成优惠券的数量。当优惠券余量不足时,通过邮箱或其他方式对模板创建人进行通知,可按实际情况进行增加余量。...七、小结 优惠券模板作为优惠券系统的基础和核心模块,本文仅从业务附属型自营商城角度来梳理优惠券模板的基础框架。

5.4K20

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

1 Scenario 场景 电商系统的促销手段(Electronic Commerce Systems): 优惠券 拼团 砍价 老带新 优惠券的种类 满减券 直减券 折扣券 优惠券系统的核心流程 发券...下单 使用优惠券 支付 2 Service 服务 2.1 服务结构设计 2.2 优惠券系统难点 券的分布式事务,使用券的过程会出现的分布式问题分析 如何防止超发 如何大批量给用户发券 如何限制券的使用条件...如何防止用户重复领券 3 Storage存储 模型的设计 优惠券系统 Coupon System 模型定义 优惠券系统的难点 3.1 表单设计 券批次(券模板),coupon_batch 指一批优惠券的抽象...validat_time datetime null comment '有效日期', used_time datetime null comment '使用时间' ); 优惠券系统...系统用户数增加到万级 发一条站内信,就得重复插入上万条数据。而且这上万条数据的 content 一样!假设一条站内信占100K,发一次站内信就要消耗十几M。

5.1K51

优惠券设计及流程_优惠券怎么设计

在整个APP开发产品发展的整个周期中,运营活动必不可少,而发放优惠券已成为运营活动的一种基本形式,而关于优惠券设计的整体流程尤为重要。接下来,分享一下自己的经验,希望对大家有帮助,感谢支持!...整体架构分析: 一、确认优惠券的类型 首先我们要区分优惠券和代金券: 优惠券 给持券人的某种特殊权利的优待券,可以折抵商品价值,给消费者带来了优惠。...而我们常见的优惠券类型有:体验券、礼品券、折扣券、特价券、换购券等,我们要根据运营活动选择合适的优惠券类型。 在确认优惠券类型的同时,一定要注意区别每一类优惠券的形式及使用条件。...三、确认优惠券使用范围 其实使用范围一般在优惠券的使用条件中有所呈现,但使用范围更多的是阐释此优惠券是全场通用还是限制品类?是只能在某个店铺使用还是该品牌下的所有店铺都可以用?...五、确认优惠券发放方式 这一个版块更侧重用户层面,要根据产品实际,寻找用户喜欢的领取方式,我们常见的有: 系统自动发放: 用户在特定时间登陆即可获取一张优惠券 系统后台抽取部分用户直接发放到用户账户

3K10

不会linux系统使用宝塔安装WordPress(附优惠券

编译安装 这里我要说下关于不同配置的服务器环境的设置,因为一般常用的有512M内存的,还有就是1G内存的,这两个的环境选择是不一样的 如果是512M内存,那么使用默认的配置即可,Mysql 5.5 和 PHP...5.4 如果是1G内存,推荐使用wordpress官方给的设置,Mysql 5.6 和 PHP 7.2,但是这里还是建议7.1,兼容的主题会多一些 当然也不是说绝对按照这些设置,有些wordpress...主题是不支持php7的,有时候适当的升级或者降级,当然我们的原则就是越新越好,因为性能是要好一些的,你可以选择任何版本,建站的过程都是一样的 然后就是等待安装完成就可以了,一般会持续半小时到1个小时,

2.1K70

PHP做了一个领取优惠券活动的示例代码

业务需求 优惠券活动,具体还是要根据自己的需求。以下是最近实现的优惠券活动,主要的业务需求:根据后端设置优惠券模板,用户类型设置,优惠券活动的开始与结束时间,最后生成不同的优惠券活动链接。...前端需要做的设置与限制: 1 判断优惠券是否存在或者停用 2 判断活动开始时间与优惠券开始时间 接着领取活动优惠券,需要判断以下情况: 1 活动已结束 2 活动为开始时 3 活动为新用户领取...,而领取的用户是老用户 4 活动为老用户领取,而领取的用户是新用户 5 优惠券是否领取完 6 已领取过优惠券提示 7 领取成功 下面核心代码实现 /** * Function:优惠券领取处理...0,或者领取优惠券数量-剩余数量 0 } //判断活动开始时间与优惠券开始时间 $act_coupon = ActivityCouponBaseModel::where('activity_id',...empty($res) && $res['is_send'] == 0) ){ throw new \Exception("优惠券未发放,暂不可领取"); } //发放优惠券,有多少张就添加多少张,这里扣除优惠券

1.1K21

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

随着商城的发展及用户量的提升,优惠券做了服务拆分,成立了独立的优惠券系统,提供通用的优惠券服务。目前,优惠券系统覆盖了优惠券的4个核心要点:创、发、用、计。...以下为vivo商城优惠券部分场景的展示: 二、系统架构及变迁 优惠券最早和商城耦合在一个系统中。...为了解决以上问题,19年优惠券系统进行了系统独立,提供通用的优惠券服务,独立后的系统架构如下: 优惠券系统独立迁移方案 如何将优惠券从商城系统迁移出来,并兼容已对接的业务方和历史数据,也是一大技术挑战...关闭双写,优惠券系统迁移完成。 迁移后优惠券系统请求拓扑图如下: 三、系统设计 3.1 优惠券分库分表 随着优惠券发放量越来越大,单表已经达到瓶颈。...缺点是系统流程会比较复杂,而且需要考虑缓存丢失或宕机数据恢复的问题,容易造成库存数据不一致。 从优惠券系统当前及可预见未来的流量峰值、系统维护性、实用性上综合考虑,优惠券系统采用了方案一的改进方案。

2K41

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

随着商城的发展及用户量的提升,优惠券做了服务拆分,成立了独立的优惠券系统,提供通用的优惠券服务。目前,优惠券系统覆盖了优惠券的4个核心要点:创、发、用、计。...为了解决以上问题,19年优惠券系统进行了系统独立,提供通用的优惠券服务,独立后的系统架构如下: [fe1d43bcdecb4ad5b6be79bcdaa952d7~tplv-k3u1fbpfcp-zoom...-1.image] 优惠券系统独立迁移方案 如何将优惠券从商城系统迁移出来,并兼容已对接的业务方和历史数据,也是一大技术挑战。...关闭双写,优惠券系统迁移完成。...缺点是系统流程会比较复杂,而且需要考虑缓存丢失或宕机数据恢复的问题,容易造成库存数据不一致。 从优惠券系统当前及可预见未来的流量峰值、系统维护性、实用性上综合考虑,优惠券系统采用了方案一的改进方案。

1.4K12

根据自己的业务需求,用PHP做一个优惠券活动

文章来自公众号:PHP自学中心 链接:https://mp.weixin.qq.com/s/vt-_Awa0wmhVNMM9CwSGqg 作者:磊丰 业务需求 优惠券活动,具体还是要根据自己的需求。...以下是最近实现的优惠券活动,主要的业务需求:根据后端设置优惠券模板,用户类型设置,优惠券活动的开始与结束时间,最后生成不同的优惠券活动链接。...以下是后端截图 [clipboard.png] 前端需要做的设置与限制: 1 判断优惠券是否存在或者停用 2 判断活动开始时间与优惠券开始时间 接着领取活动优惠券,需要判断以下情况: 1 活动已结束 2...活动为开始时 3 活动为新用户领取,而领取的用户是老用户 4 活动为老用户领取,而领取的用户是新用户 5 优惠券是否领取完 6 已领取过优惠券提示 7 领取成功 看看前端的测试的截图 [360截图167510211019895...0,或者领取优惠券数量-剩余数量 > 0 } //判断活动开始时间与优惠券开始时间 $act_coupon = ActivityCouponBaseModel::where('activity_id

77710

优惠券功能的实现

参考一号店的样式,做了类似一个这样的模板 下面讲讲大概的逻辑: 首先我们需要一个优惠券模板表 这个表用于后台生成优惠券模板,然后会员兑换、领取 还需要一张用户优惠券表 表结构大概如下 #...) 运维人员填入券标题,如某某假日优惠券等等 并包含满减金额和门槛金额(门槛金额为 0,代表无门槛券) score代表需要积分兑换,某些商城需要积分才能兑换优惠券 最后加上一个使用日期的限制即可 优惠券模板发布之后..., end_date公共字段复制给会员券表 领取之后,会员可在自己的券中心查看 优惠券的使用 当会员下单,判断订单的总金额是否大于优惠券的门槛金额,如果满足即可使用 标记优惠券的used_at为当前时间...,代表优惠券已经使用,订单并关联优惠券主键 优惠券的退单 当发生优惠券退单时,实际退还优惠之后的金额 此订单和优惠券的关联取消掉 把优惠券的used_at标记为null代表未使用 类似京东还有一个比较有趣的功能...,并为此会员生成一张优惠券 标记次兑换码已经使用

14010

优惠券超发问题

问题引发 如果同时来了两个线程(你可以理解成是两个请求),比如先来的那个请求通过了检查(线程 A),这时线程 A 还没有扣减库存,这时线程 B 经过一翻操作也通过了这个检查优惠券是否可领取的方法...问题解决 | 解决方案 1(Java 代码加锁) 导致这一问题的根本原因是多个线程同时访问这个领取优惠券的方法,那只要保证在同一段只有一个线程进入到这个方法就可以了。...ResultUtil.error(); } 虽然这样可以解决超发的问题,但是在项目中我们不可以这样写,原因如下: synchronized 的作用范围是单个 JVM 实例,如果是集群部署系统这里的加锁你可以理解成失效...在使用了 synchronized 加锁后,就会形成串行等待的问题,当一个线程 A 在领取优惠券方法内执行过久时,其它线程会等待直到线程 A 执行结束。...这样也可以避免优惠券超领。 还有种办法就是乐观锁,可以在表中加个version 字段,每次修改数据的时候这个字段会加 1,也可以直接使用mybatisplus中的乐观锁插件。

76030

php挂Q系统

php挂Q系统 作者:matrix 被围观: 2,147 次 发布时间:2013-04-18 分类:兼容并蓄 | 评论被关闭了 这是一个创建于 3423 天前的主题,其中的信息可能已经有所发展或是发生改变...3个挂Q系统php源码 最早界面稍微好看的挂q系统 来自52gq的源码 [php] 这款很简洁,不会占用sql数据库 只是需要手动回去挂Qsid yunfile下载: wap在线挂q.zip 百度网盘...生成的db.inc.php 可复制给手机版(手机版不支持安装) 心挂Q提供程序 - 无心问世&IZZX     程序制作 by  52挂Q 傻妞挂Qx1.5.9_破解优化版 [php+mysql]...忘了哪位分享的这收费版挂Q系统 安装时需要进入install目录。...例如:http://xxx.com/install 需要连接sql数据库 此款系统会记录QQ的明文密码,So 有点邪恶啊~  yunfile下载: qq.zip 百度网盘:http://pan.baidu.com

1.5K20

微信推出优惠券新玩法,“朋友共享的优惠券”正式上线

11月18日,微信推出新玩法,“朋友共享的优惠券”(简称“朋友的券”)上线。 作为微信重磅打造的新玩法,微信“朋友的券”打通了微信关系链,让朋友间能共享同一张优惠券。...用户领取或收到朋友共享的第一张“朋友的券”后,“优惠券”入口将自动打开,无论是餐饮、购物还是娱乐,都可以在微信“优惠券”中,尝试寻找朋友共享的优惠,抢先体验这一福利。...在“朋友的券”新玩法下,用户在线下门店领取一张优惠券后,朋友也可以在自己的微信“优惠券”中看到该券,并前往门店使用。自己闲置的优惠可能正是朋友的急需,朋友间的共享让每张优惠券都发挥最大价值。...这意味着每一张朋友间共享的优惠券,都会是不限制起用金额、时段、品类、门店等的高质量优惠券。 据实际体验,“朋友的券”会根据位置智能分类,为用户提供丰富而便捷的消费选择。...目前上线“朋友共享的优惠券”的商家有摩登百货、堂会KTV、麻田会、巴黎欧莱雅、美宝莲等。 微信团队表示:期待微信“优惠券”全新的互动式玩法,可以让用户和商户发现更多新乐趣。

2.1K80
领券