Java生鲜电商平台-积分,优惠券,会员折扣,签到、预售、拼团、砍价、秒杀及抽奖等促销模块架构设计

说明:本标题列举了所有目前社会上常见的促销方案,目前贴出实际的业务运营手段以及架构设计,包括业务说明,仅供参考

促销体系

1.1促销体系

在电商和O2O领域,促销是运营人员的一个主要的让利行为,同时促销活动期间的购买量也较之普通商品更高,不同的阶段,对于促销的要求也是不同的。

促销实质上是一种沟通活动,即营销者(信息提供者或发送者)发出作为刺激消费的各种信息,把信息传递到一个或更多的目标对象(即信息接受者,如听众、观众、读者、消费者或用户等),以影响其态度和行为。

商城促销活动的流程概述(不含优惠券):

  1. 在平台后台创建促销活动
  2. 选择促销方式,对应编辑该促销方式的设置项,选择参与活动的商品,可选择普通购买的单纯用货币支付的普通商品
  3. 设置具体的促销活动规则和投放设置
  4. 用户在商城查看商品,可看到由平台后台发布的优惠信息
  5. 将商品加入购物车,购物车将体现享受满减和直减后的优惠价格,最终的购买订单的实付金额为享受促销活动后的价格。
  6. 可在后台查看到已创建的活动以及活动的效果,关于用户购买订单相关的数据也将展示其享受到的优惠信息。

1.2促销系统

将模块拆分,主要分为三部分:

  1. 促销活动:活动投放的设置管理,负责提供活动方式和商品内容
  2. 促销规则:发布促销活动时选择,负责提供促销玩法,例如限时折扣、满额减等
  3. 优惠券:提供一种相对独立的促销形式

从大的维度来看,优惠券也属于促销的一种方式,在促销规则也和优惠劵的使用有一定关联。这里我们把优惠券也归类到促销系统中,关于优惠券业务将在下次进行迭代

1.3促销活动

活动状态:

  • 未开始,还未到活动开始时间,此状态的活动可进行编辑和的删除,删除活动为逻辑删除
  • 活动中,正在进行中的活动,此状态的活动不能编辑,只能提前结束,结束之后的活动变更为已失效的状态
  • 已失效,已经过了活动结束时间,被删除的以及被取消的活动

从促销类型分为:

  1. 直减类:限时折扣、新用户专享等
  2. 满减类:满额减、满额折、满件减、满件折、满件免等
  3. 赠券类:买单赠券、免费领券等(下次迭代)
  4. 组合优惠类(暂不考虑):套餐
  5. 送赠品类(暂不考虑):满赠
  6. 换购类(暂不考虑):加价购
  7. 预订类(暂不考虑):预售价

直减类(优先实现):

主要设置项包括:

  1. 活动名称:方便运营人员识别活动
  2. 促销方式:可选限时折扣、新用户专享
  3. 商品选择:参加促销的商品以及促销的价格(只选择单纯用货币购买的普通商品)
  4. 投放时间选择:选择开始时间和结束时间
  5. 打标签:商品打促销标识,前端显示促销标签,可选择现有标签或者选择自定义新增
  6. 目标群体(不可编辑): 针对全部用户(限时折扣)、未下单过的新用户(新用户专享)

满减类:

主要设置项包括:

  1. 活动名称:方便运营人员识别活动
  2. 促销方式:满额减、满额折、满件减、满件折、满件免件
  3. 商品选择:参加促销的商品((只选择单纯用货币购买的实际商品,可选择全场、按品类、或者自主选择多个商品,由于虚拟商品不能加入购物车,所以虚拟商品的满减类虽然可以添加多个SKU,但是最终享受该优惠的虚拟商品订单只会包含一个SKU)
  4. 金额/件数设置:满XX减(折、免)XX,可设置多层级的满减活动(支持两种货币类型的情况)
  5. 投放时间选择:选择开始时间和结束时间
  6. 打标签:商品打促销标识,前端显示促销标签,可选择现有标签或者选择自定义新增
  7. 目标群体: 针对全部用户、未下单过的新用户

二、促销业务逻辑

2.1创建多个活动

方案1:实现此方案,一个商品只能关联到一个正在进行的活动,已经被添加至一个活动的时候,可以先解绑再将其添加至另一个活动

方案2:同类型促销可创建多个活动,同个商品可参与多个同类型的活动,但是一个商品不能同时被添加至多个活动时间重叠的活动(考虑这样处理逻辑会比较清晰)

一笔订单不能同时享受两个及以上相同类型的优惠。(这里的类型指的是直减类、满减类)

2.2订单金额计算

方案1:本次实现此方案,一个用户一笔订单只能享受一种优惠,如果一笔订单有多个优惠活动,用户可进行选择其中一个。

方案2:促销方式有很多,针对商品或订单的满减、折扣、优惠券等,对这些促销类型进行任意组合,将会有非常多样化的场景,为了防止系统发生重叠甚至冲突的情况,从整体上设计促销逻辑才能保证各子系统流程顺畅流转。

将促销视为订单金额的变化,将促销活动区分为三种类型:改商品价格、改商品小计价格、改订单价格,无论什么促销都可以描述成改价格。

判断条件:

  1. 上面的流程图,是否可享受的判断条件是只要有优惠活动就享受
  2. (讨论是否在这一阶段加上多活动时的控制)通用设置或者是针对于活动的设置,同一笔订单是否可以同时享受多个不同类型的促销,即同时可以享受修改商品的优惠(直减类),修改商品小计的集合(满减类)或修改订单的价格(优惠券)

具体例子:(京东)

  1. 享受商品价格的活动,这里是秒杀价单品价格24.9元
  2. 计算商品小计之后,引入针对指定商品的价格,满2件总价打5折,24.9*28件*0.5=348.6元
  3. 累计商品小计价格之后,介入针对于订单的促销:优惠券

优惠券为全品类满200减10,满足条件,即最终订单价格(免邮)为348.9-10=338.6元

所以最终这笔订单先后享受了三重优惠。

2.2.1修改商品价格

一笔订单被提交时,系统必然首先查找出订单中的所有商品,并判断此商品是否具备特殊价格(促销价格)。如果没有,则取正常的商品零售价;如果有,则取当前商品所处促销活动价格。

直减类:限时折扣、新用户专享等

遵循促销核心原则:同类型促销通过同一实体进行互斥、不同类型促销可以叠加。这里的实体指的是商品,类型指的是前文说到的值减类、满减类、赠券类,下文也是,不再说明。

所以这条原则也可以表述为:不同商品可以享受相同的(限时折扣、新用户专享)活动;但是相同商品进行互斥,同一个商品不可以同时享受同一类型的活动,例如:同一个SKU不可以同时享受(限时折扣、新用户专享)活动。

2.2.2修改商品小计的集合价格

当系统完成了对商品价格的查找之后,就需要将查找出的商品价格分别乘以订单中的每个商品数量,从而计算出每个商品的小计金额。当系统计算出所有商品的小计金额之后,这时候,就可以介入一些促销活动,例如指定商品的:满额减、满额折等。

满减类:满额减、满额折、满件减、满件折、满件免件

例如:全场生鲜类,满100减10,满200减30;就是第二种类型活动,因为它是针对某种/某类商品的小计金额来匹配满足哪种类型的活动,并在满足活动的商品小计金额基础上进行减、折、免。

同类型通过实体进行互斥、不同类型可以相互叠加。此处的实体是商品,所以这对第二种类型的促销活动,我们就可以得出以下结论:

同一个商品,不能同时享受指定商品的(满减、满赠、折扣 等)活动,不同的商品没有限制。

例如:SKUA 不能同时享受多个满减、满赠、折扣;但是SKUA 享受满减,SKUB享受满赠 这种是被允许的。

而不同类型可以相互叠加,也就是说,同一个商品虽然不能同时享受同种类型的活动,但是却可以同时享受不同类型的促销活动,例如:SKUA 可以同时享受限时折扣和指定SKUA的满减活动,也就是折上折。

2.2.3修改订单金额

当系统完成了对商品小计金额的计算之后,就会将所有优惠后的商品小计金额进行叠加,生成一个初步的订单总金额,当系统得到初步的订单总金额之后,又可以介入一些促销活动,例如指定订单的:优惠券等。

针对订单类的:优惠券(下次迭代)

例如:京东招牌活动全场满88包邮;就是典型的第三种类型营销活动,因为它是针对订单的总金额来匹配满足那种类型的活动,并在满足活动的订单金额基础上进行减、折、优惠券和包邮券等。

同类型通过实体进行互斥、不同类型可以相互叠加,此处的实体就是订单。

所以,针对第三种类型的促销活动,我们就可以得出以下结论:同一笔订单只能使用一张针对于订单的优惠券。

三、功能需求清单(促销活动)

Java生鲜电商平台-积分,优惠券,会员折扣,签到、预售、拼团、砍价、秒杀及抽奖等促销模块架构设计的更多相关文章

  1. Java生鲜电商平台-商城优惠券设计要点复盘与总结

    Java生鲜电商平台-商城优惠券设计要点复盘与总结 Java生鲜电商平台本文将从优惠券设计用户端,需求端,业务流程全方案解析优惠券设计方案 为什么要设计优惠券 设计优惠券的核心:拉新和促活 新产品上线 ...

  2. Java生鲜电商平台-会员积分系统的设计与架构

    Java生鲜电商平台-会员积分系统的设计与架构 说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设 ...

  3. Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战

    Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战 说明:Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战,优惠券是一种常见的促销方式,在规定的周期内购买对应商品类型和额度的商品 ...

  4. Java生鲜电商平台-优惠券功能设计与开发(小程序/APP)

    Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 说明:Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 目录 1.项目背景与需求分析 2.需求目的与功能点列表 3.业务逻辑 ...

  5. Java生鲜电商平台-优惠券系统的架构设计与源码解析

    Java生鲜电商平台-优惠券系统的架构设计与源码解析 电商后台:实例解读促销系统 电商后台系统包括商品管理系统.采购系统.仓储系统.订单系统.促销系统.维权系统.财务系统.会员系统.权限系统等,各系统 ...

  6. Java生鲜电商平台-优惠券系统设计详解

    Java生鲜电商平台-优惠券系统设计详解 优惠券作为电商最常用的营销手段,对于商家而言可以起到拉新.促活.提高转化的作用,对用户而言也可以获得实惠,今天就来谈谈优惠券系统的设计逻辑. 我对于优惠券系统 ...

  7. Java生鲜电商平台-商品分类表和商品类型表的区别与数据库设计

    Java生鲜电商平台-商品分类表和商品类型表的区别与数据库设计   二者服务的对象不一样 目的也是不一样的 商品分类是为商品服务的 用来管理商品 商品类型是为扩展属性服务的 用来管理属性 举例:[转] ...

  8. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  9. Java生鲜电商平台-订单架构实战

    Java生鲜电商平台-订单架构实战 生鲜电商中订单中心是一个电商后台系统的枢纽,在这订单这一环节上需要读取多个模块的数据和信息进行加工处理,并流向下一环节:因此订单模块对一电商系统来说,重要性不言而喻 ...

随机推荐

  1. Android开发当中的JavaBean实现

    一般我们在Android开发当中如果会对一些数据类进行解析,那么则需要写出一个JavaBean的类,比如在进行json解析的时候,就需要使用这个类进行数据的处理,下面是我们的JavaBean的模板代码 ...

  2. 一文解读AIoT (转)

    AIoT即AI+IoT,指的是人工智能技术与物联网在实际应用中的落地融合.目前,越来越多的行业及应用将AI与IoT结合到了一起,AIoT已经成为各大传统行业智能化升级的最佳通道,也是未来物联网发展的重 ...

  3. qt md5加密,base64编码解码

    qt md5加密,base64编码解码 md5加密 QByteArray data = "12121221"; data += "asdfas"; QByteA ...

  4. XposedInstaller 是如何安装的

    Launcher 如何通过startActivity 传送一个 intent 到 zygote 如何 接收到它并且 fork出该app的进程的? 安装框架的时候会现有各种检查,比如当前系统版本等 下载 ...

  5. luoguP5094 [USACO04OPEN]MooFest 狂欢节

    get 到的 这种需要求 含 max 的式子,枚举最大值的方法非常普遍. 类似的,还有含 min , gcd 的式子,枚举他们也很普遍 主要难点 我们首先想到,先按 v 从小到大排序,因为这样既可以简 ...

  6. linux学习(二)linux系统的安装

    Linux 安装 本章节我们将为大家介绍 Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用,参考各大云服务器比较. 本章节以 ce ...

  7. SpringCloud学习笔记(六、SpringCloud Netflix Feign)

    目录: feign简介 feign应用 feign简介: feign是一款Netflix开源的声明式.模板化的http客户端,它可以更加便捷.优雅的调用http api:SpringCloud对Net ...

  8. Html学习之十一(CSS选择器的应用一)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 正睿暑期培训day1考试

    链接 A 理解一下题意,然后玩几组样例就能发现,实际上就是\(k\)个\(i\)等价于\(1\)个\(i-1\).所以就类似于\(k\)进制进行进位,如果最后\(0\)位上不是\(0\),那么就存在划 ...

  10. MySQL实战45讲学习笔记:第三十九讲

    一.本节概况 MySQL实战45讲学习笔记:自增主键为什么不是连续的?(第39讲) 在第 4 篇文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧 ...