Java生鲜电商平台-积分,优惠券,会员折扣,签到、预售、拼团、砍价、秒杀及抽奖等促销模块架构设计前端
说明:本标题列举了全部目前社会上常见的促销方案,目前贴出实际的业务运营手段以及架构设计,包括业务说明,仅供参考架构
在电商和O2O领域,促销是运营人员的一个主要的让利行为,同时促销活动期间的购买量也较之普通商品更高,不一样的阶段,对于促销的要求也是不一样的。spa
促销实质上是一种沟通活动,即营销者(信息提供者或发送者)发出做为刺激消费的各类信息,把信息传递到一个或更多的目标对象(即信息接受者,如听众、观众、读者、消费者或用户等),以影响其态度和行为。架构设计
商城促销活动的流程概述(不含优惠券):设计
将模块拆分,主要分为三部分:3d
从大的维度来看,优惠券也属于促销的一种方式,在促销规则也和优惠劵的使用有必定关联。这里咱们把优惠券也归类到促销系统中,关于优惠券业务将在下次进行迭代对象
活动状态:blog
从促销类型分为:io
直减类(优先实现):电商
主要设置项包括:
满减类:
主要设置项包括:
方案1:实现此方案,一个商品只能关联到一个正在进行的活动,已经被添加至一个活动的时候,能够先解绑再将其添加至另外一个活动
方案2:同类型促销可建立多个活动,同个商品可参与多个同类型的活动,可是一个商品不能同时被添加至多个活动时间重叠的活动(考虑这样处理逻辑会比较清晰)
一笔订单不能同时享受两个及以上相同类型的优惠。(这里的类型指的是直减类、满减类)
方案1:本次实现此方案,一个用户一笔订单只能享受一种优惠,若是一笔订单有多个优惠活动,用户可进行选择其中一个。
方案2:促销方式有不少,针对商品或订单的满减、折扣、优惠券等,对这些促销类型进行任意组合,将会有很是多样化的场景,为了防止系统发生重叠甚至冲突的状况,从总体上设计促销逻辑才能保证各子系统流程顺畅流转。
将促销视为订单金额的变化,将促销活动区分为三种类型:改商品价格、改商品小计价格、改订单价格,不管什么促销均可以描述成改价格。
判断条件:
具体例子:(京东)
优惠券为全品类满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包邮;就是典型的第三种类型营销活动,由于它是针对订单的总金额来匹配知足那种类型的活动,并在知足活动的订单金额基础上进行减、折、优惠券和包邮券等。
同类型经过实体进行互斥、不一样类型能够相互叠加,此处的实体就是订单。
因此,针对第三种类型的促销活动,咱们就能够得出如下结论:同一笔订单只能使用一张针对于订单的优惠券。