Java生鲜电商平台-促销系统的架构设计与源码解析

Java生鲜电商平台-促销系统的架构设计与源码解析前端

 

说明:本文重点讲解如今流行的促销方案以及源码解析,让你们对促销,纳新有一个深刻的了解与学习过程.小程序

促销系统是电商系统另一个比较大,也是比较复杂的系统,做为一个卖货的,当咱们准备好了店铺、商品,那么剩下的就是卖货了。微信小程序

可是,卖的好很差,有时候并不取决与你的商品质量,而是会不会营销,会不会作活动,甚至说即使你的商品质量很差。可是若是营销活动作得好,那也是能够卖的比别人挣钱的,因此促销活动很重要。它须要分析市场结合自身条件合理的建立促销活动,咱们理解的促销活动多是优惠券,满X减Y,和一些专题活动。微信

下面对促销活动进行一个系统的总结:广义上来讲,一切为了扩大商家销售和用户优点的行为都属于促销活动。架构

鉴于软件行业和电商系统的特征,电商的促销系统设计应该是分为这几个大的分类:促销活动、CMS系统、优惠券、拼团。app

  • 优惠券:这你们可能很熟悉,设置优惠券的规则,而后进行发放,用户能够在购买商品的时候使用优惠券;
  • 拼团:这你们也很熟悉,好比:拼多多你们可能都用过,简单来讲须要设置拼团的人数,价格,当拼团人数达到时,拼团成功,而后进行发货。
  • 促销活动:促销活动通常是与CMS系统一块儿用的,促销活动模块用于设置活动的规则,而CMS系统用户推广活动。其实来讲CMS系统对技术的要求是很高的,一些小的电商是不支持CMS的,那么促销活动就会经过广告位进行推广,或者不推广。

先促销活动,再说优惠券,再说拼团,下面详细说说。学习

1、促销活动

促销活动是什么呢?编码

接触电商系统设计的产品经理确定明白,促销活动与优惠券相似,都是在购买商品时若是知足促销条件或者优惠券的条件就会对用户的购买进行优惠。spa

不一样点在于:优惠券是具体的东西,他与商品是分离的,优惠券更加灵活,而促销活动通常来讲会与商品绑定,而且这种活动的制定可能还会与节日有关——清明节了,我要搞个促销活动,促销活动的目的性更强,既然是“活动”那么也就注定了推广的重要性。架构设计

这也就是为何促销活动要与CMS系统连用,能够达到更好的宣传效果,下面我从几个方面说说促销活动:

  1. 促销活动都有哪些形式,每种形式的规则是什么?
  2. 促销活动具体的建立规则与业务流程?
  3. 促销活动在订单中的问题。
  4. 对促销活动的管理。
  5. 促销活动在产品中的具体设计方法。

1. 促销活动的各类形式

满减促销:

满减促销是最多见的一种促销活动,当订单知足必定金额优惠必定金额,通常会产与多个订单,好比:满200减20。这样,为了可以得到优惠可能就会多买几件,满减促销分为两种形式:每满减和阶梯满减,在建立活动的时候只能选择一种形式。

什么每满减呢?

——每满X元减Y元,好比每满100元减10元,若是订单知足一个100元优惠10元,若是订单知足两个100元,优惠20元,以此类推。

什么是阶梯满减呢?

——满X1元减Y1元,满X2元减Y2元,满Xn元减Yn元,好比满100减10元,满200减300元,满300减50元。

显而易见阶梯满减是消费越多优惠比例越大,设置多个阶梯,若是设置了每满减同时设置阶梯满减确定会有冲突的,由于订单金额相同时优惠金额可能不同,也就是说,不能共用。

单品促销:

单品促销就很简单喽,就是一件商品打折。

这里说明一下哈,不只仅是这里,全部的,你没看错,我是说全部的打折都支持两种选择,百分比打折和金额打折,在设置打折规则的时候进行单选百分比或者固定金额。

那么,百分比打折和固定金额打折不一样点在于哪呢?

差别化的形成主要体如今价格的变更上,当价格变更对折扣打折是没有影响的。由于是按比例计算,而对于固定金额打折就会有影响,不管价格的太高或者太低,都会形成优惠金额的不合理。可是,固定金额打折的优点是易于消费者理解,优惠价格可控,对于资金的掌控更加稳定。

在进行百分比打折的时候,前端同时显示折扣比例和折扣金额。

套装促销:

套装促销就是多件商品捆绑销售,设置套餐价格,可是在设置的时候其余促销形式有所不一样。不一样点主要体如今前端的展现上,其余的促销得到是依附在某个商品之上的,当咱们进入商品详情页就会看到促销活动的介绍。而后选择规格当,数量等信息,当选择知足条件后就会实现优惠。

而套装促销是多商品,下面的赠品促销,满赠促销也是同样,这种多商品的促销在展示形式上有所不一样。

首先来讲,咱们在设置套装的时候确定选择多个商品,而每个商品确定会有多个SKU信息,那么说咱们在选择商品的时候应该精确到商品的SKU,也就是把规格选出来。

为何要这样选呢?由于咱们最终要设置套餐价格,那么这个套餐价格确定基于某个肯定的原价的,也就是每一个套装商品的SUK价格。

其次,咱们要考虑到前端的展现问题。

既然是促销活动,咱们如今还原一个场景:

小张没有鞋穿了,要去商场买鞋,而鞋子确定有不少规格,小张要买43码红色的鞋子100元,若是选择43码黑色的鞋子可能就是200元了。

这个时候服务员告诉他:咱们如今搞套装活动,红色的鞋子加红色的袜子一共110元,红色的鞋子加红色的袜子一共120元,黑色的鞋子加红色的袜子一共210元,黑色的鞋子加黑色的袜子一共220元,红色袜子单独购买20元,黑色袜子单独购买40元。

那么,在这种场景下,小张的选择是多样化的,他能够选择任意的组合,而后给钱就好了。可是,若是把这种场景还原到产品设计中就会产生不少问题。

缘由很简单:咱们在线下购买商品,当咱们提交订单以前,咱们面向的是全部的商品。而在网上购物的时候,咱们要进入某一个具体的商品才能看到促销活动——咱们在网上看到一双鞋,而后活动是加上某个袜子110元,难道咱们要返回首页在去寻找那个袜子吗,显然是不行的。

也就是说,套装的选择要在鞋子这个商品的详情页面完成,但是鞋子的商品详情页只能展现鞋子的,好比:尺码,颜色;是没法选择袜子的规格信息的。

因此,通常来讲有两种处理方式:

  1. 直接把套装作成商品。
  2. 在商品详情页面增长套装选项。

直接把套装作成商品:

这个跟商品的编辑流程是同样的,咱们在定义商品标题的时候,直接把它写成某个套餐,好比:化妆品套餐,而后利用规格设置不一样的套餐价格。

比方说:套餐一牙刷+牙膏10元,套餐二牙刷+牙膏+杯子12元,套餐三单个牙刷5元,以此类推。可是,这种也能够实现套装促销的效果,可是这种方式却偏了促销系统的设计规则。其实根本没有促销规则,商品自己的设定就是套装也就没有规则可言。

在商品详情页面增长套装选项:

这种方式就是设置完套装后,在相关商品的详情页面在选择规格的时候增长套装选项。当选择某个套装后显示套装信息,套装信息是某个具体的SKU信息,套装和主商只能二选一,选择商品就不能购买套餐,选择套装就不能在选择商品信息了。

下面举一个例子:

有A B C D E 五个SKU信息,要进行不一样的套装组合,AB AC AD AE BC BD DE ,这是7个套装。

那么,在咱们进入A商品的详情页面时,套装信息就会显示全部的,由于跟它都有关。当咱们进入B商品的详情页面时,显示AB BC 两种套餐,由于B只有这两种套装。同理,当咱们进入E时,显示AE DA ,也就是说只显示跟当前商品有关的套装信息。这是这种设置方式,其实来讲产品的设计形式没有固定的,咱们也总在寻求更好的解决方案。

赠品促销:

赠品促销也是多商品,当咱们在购买主商品知足赠品条件后,就会得到赠品,有两种方式:

  1. 只要购买主商品就会得到赠品。
  2. 购买必定数量才能获取赠品。

而赠送的形式也有两种:所有赠送,赠送一件或者N件。

在设置的时候咱们首先要选择主商品、满赠条件——购买即赠仍是制定购买数量赠送。

而后选择赠品——能够选择多个,是所有赠送仍是部分赠送,对于赠品只须要在专题页面说明就能够了,而后在详情页面介绍赠品信息。

加价优惠:

加价优惠是当咱们知足了必定金额,若是在多付必定的金额就会优惠多少,或者免费赠送什么。

好比:咱们一共花了120元想去结帐,而后系统提示你,当订单金额达到150元就是享受-20优惠,或者赠送某某商品。对于加价优惠要选择商品,而后设置当满X元,在加Y元时,优惠N元或者免费送F商品,这样设置。

多买优惠促销:

多买优惠促销就是买的越多,优惠越大,能够设置必定金额随便买几件,或者当几件的时候极则,规则的核心是商品的件数——也就是多买。

这个地方既然是多买,那么在设置活动的时候确定要设置活动的商品池——能够逐个拉去,也能够按分类拉去,多买优惠只有在这些商品上才能生效,其余商品不生效,在设置规则的时候能够设置。

  1. 订单满X件N折
  2. 订单金额X元内任意购

根据具体状况设定。

定金促销:

定金促销通常会出如今商品预售的时候,当商品进行预售时,设置定金促销,用户提早付定金能够抵扣必定金额。

好比:定金30抵扣50,至关于优惠50元,当商品进行发售的时候付尾款便可完成订单。

2. 促销活动的建立规则与业务流程

促销活动的建立分为三个步骤:

  1. 设置活动基本信息:好比活动的标题,活动时间?
  2. 设置活动的规则:满赠促销仍是单品促销,规则是什么?
  3. 设置活动商品:参与活动的商品是什么?

建立完成。

2.1 设置活动的基本信息

活动标题:设置活动的标题,能够设置多个标题,不一样标题的做用不一样,根据需求看你须要几个标题,而后每一个标题展现在哪里。

活动编码:活动的惟一编码,建立活动是自动生成,这种编码很常见,不只仅是这里,好比订单的编码,帐单的编码,这些编码的规则,通常与时间,用户,商品等联系进行组合设置。

活动时间:设置活动的时间,只有在时间范围内活动才生效,若是活动时间未到可是活动开启了,须要在前端进行倒计时提高。

推广渠道:商城通常会有不少用户端,选择活动在哪里投放:H5,公众号,微信小程序,支付宝小程序,APP,PC端商城。

限购数量:商品的限购数量,从这几个方面来考虑,每项都是默认不限购,之因此进行限购主要是考虑到库存的缘由:

  1. 每一个商品的限购数量:当此商品卖出X件不在参与活动。
  2. 商品的总数量:参与活动全部的商品一共多少?
  3. 每一个用户的限购数量:每一个用户最多能够购买多少件,达到上限不可继续参与活动,

用户范围:活动的用户范围,当用户在范围内才能参与活动,不然没法参与活动,默认不限制用户范围。

  1. 选择指定用户:从用户列表进行获取多个用户。
  2. 用户会员等级:选择那个等级的会员才能够参与活动。
  3. 用户分组:那个用户组才能够参与活动。

对于用户范围的限定,主要看后台是如何对用户进行分类的,根据这些分类记性限购,若是用户有标签;也能够根据标签进行限购——若是分新用户,老用户,也能够根据此限购,主要取决于系统的设置。

是否与优惠券通用:通常来讲促销活动是不与优惠券通用的,如今市面上的电商促销活动又不会与优惠券通用,因此这个地方能够再后台写死,只要是参与促销活动的商品都不与优惠券通用。

推广连接:建立活动时会自动生成活动连接和活动二维码用户推广使用。

 

2.2 设置活动的规则

在上面已经介绍了活动的形式以及它们不一样的规则,但咱们设置完活动的基本信息后就要设置活动的规则分类两步:

  1. 选择活动类型:满减,单品,套装,赠品,加价,多买,定金。
  2. 不一样的活动其规则确定是不一样的,而后设置活动的规则。

满减:

选择满减类型:阶梯满减、每满减

设置满减规则:

  • 阶梯满减:满X1减Y一、满X2减Y二、满Xn减Yn……
  • 每满减:订单每满X元减Y元

单品:

选择打折形式:百分比、指定金额

设置打折程度:

  • 百分比:X%
  • 指定金额:X元

套装:设置套装价格——X元

赠品:

  1. 设置赠送条件:买即赠、买X件即赠
  2. 选择赠送数量:所有赠送,部分赠送(赠送几件)

加价:

  1. 设置当满X元时加Y元时生效
  2. 设置奖励形式:减N员或者送F商品

多买优惠:设置多买形式——M件N折或者X元任意购

定金:设置定金金额X抵扣金额Y

2.3 设置活动商品

当咱们设置完促销规则的时候就要选择活动商品了,无论是什么类型的活动都要选择活动商品。只是不一样的活动选择商品的规则不同,咱们来看下:不一样促销活动他们选择活动商品时,有什么不一样?

  • 满减:选择所有商品或者部分商品,部分商品能够根据分类,品牌进行筛选,能够手动制定某些商品。
  • 单品:选择某一个商品。
  • 套装:选择多个商品组合,每一个组合表明一个套装,这里注意,套装商品的选择须要精确到SKU。
  • 赠品:选择主商品,而后选择赠品,赠品可多选可单选,赠品要精确到SKU。
  • 多买优惠:这个选择商品的形式有所不一样,要选择商品池,构建一个商品的水池,水池里的商品即为活动商品的范围,用户参与活动必须到水池里选择商品。
  • 加价:设置商品范围,若是奖励形式是赠品,须要设置赠品。
  • 定金:选择定金商品。

2.4 活动建立完成

KO,到如今为止促销活动的建立已经完成,咱们总结一些:

首先,定义活动的基本规则,这些基本规则确定是通用的,它不影响活动规则。

而后,设置活动规则,不一样的活动有不一样的形式,而不一样的形式有不一样的设置规则。

最后,根据不一样的活动规则选择参与活动的商品。

这样活动就建立完成了,这是促销活动的建立方式与流程。无论什么样的促销活动均可以这样来设置,要把基本设置,活动规则,参与商品相互分开,这样有利于咱们理解。下面,最后说说促销活动在订单流程中的问题。

3. 促销活动在订单流程中的问题

当用户进行下单的时候,首先要判断:商品是否参与促销活动?参与哪一个促销活动?

而后,判断:是否知足促销规则?知足哪一个促狭规则?

最后,计算知足状况下,优惠的金额是多少?在用户订单付款页面要告诉用户优惠金额是多少?

  • if(活动商品){哪一个活动}
  • if(规则1){优惠金额计算}
  • else if(规则2){优惠金额计算}
  • erse if(不是活动商品)(不计算优惠)

当用户下单完成后,多个商品能够放在一个订单下统一发货,不能统一发货须要进行拆单,订单的详细问题如今先不说,之后会专门讲订单。

4. 对促销活动的管理

促销活动的管理是管理已经建立出来的活动列表,主要管理的是活动的状态和编辑活动,删除活动。

编辑活动:当活动建立完成后可能由于一些缘由须要修改,这个时候须要去编辑。

删除:删除活动后,活动将直接终止。

活动状态管理:未开始,活动中,以结束,是否投放。

  • 未开始:活动时间未到。
  • 活动中:处在活动时间内。
  • 已结束:活动时间已过。

是否投放:当投放以后活动才会生效,投放状态与活动时间状态(其余三个状态)相互独立,互不影响,不管是否投放都有可能处在其余三个状态中的一个,时间状态是没法操做的,能够操做投放状态。

删除:直接删除活动,若是活动正在活动中,那么活动将直接终止。

5. 促销活动在产品中的具体设计方法

5.1促销活动的前端展现

促销活动在用户端的展现主要体如今详情页面和列表页面,当知足促销活动是要在商品的列表页面加上标签。

好比:

  • “满减”:在商品的详情页面要加上促销栏目。
  • “促销:满100件10元”,让用户能够看到,若是是套装商品和赠品,须要展现每一个商品的SKU信息、商品图片、价格、规格等。

5.2 促销活动的后台设计

促销活动属于促销系统的一部分,对于后台的设计,活动管理和建立活动两个部分。

建立活动:一个建立活动的菜单,点击进去就是建立页面、填各类表单、最后保存,表单的内容上面已经说了,就是促销活动的建立流程。

活动管理:一个活动管理菜单栏,点击进去是活动列表,管理活动状态、投放状态、删除。

2、优惠券

优惠券与促销活动的不一样点是:优惠券突出的是商品。

当咱们要买哪一个商品时,咱们会考虑用哪一个优惠券,而从设计上来讲,专题活动要比优惠券难度高。

1. 优惠券的各类类型

现金券:优惠券直接抵扣现金,不设置使用门槛,好比:50元现金券,现金券之因此称之为现金券,就是由于它能够当作现金直接使用,至关于你本身的钱,没有订单金额的限制。

满减券:与促销活动的满减相似,当订单知足必定金额才可使用优惠券,好比:满200减20元。

折扣券:在购买某些商品是能够进行打折,好比8折,那么100块钱的东西就是80元。

单品券:单品券是针对特定的商品才可使用,指定特定商品后能够设置满减或者折扣或者现金券。

分类券:分类券是针对特定分类的商品才可使用,指定分类后设置满减或者折扣或者现金券。

品牌券:品类券是针对特定品牌的商品才可使用,指定品牌后设置满减或者折扣或者现金券。

平台券:平台券适用于全部的店铺的优惠券,不管在哪一个商家,哪一个店铺,均可以使用,优惠金额由平台承担。

店铺券:店铺券是入驻平台的商家本身发布的优惠券,只在本店铺有效,优惠金额由店铺承担。

2. 优惠券的设计规则

优惠券的设计规则分为三步:

  1. 建立优惠券
  2. 领取优惠券
  3. 优惠券核销

2.1 建立优惠券

在建立优惠券的时候须要填写相关的信息,以及选择一些信息。

优惠券名称:给优惠券起一个名称。

选择优惠券类型:现金券,折扣券,满减券。

优惠券面值和使用条件:现金券(X元)、折扣券(满X元Y折)、满减券(满X元减Y元)。

推广渠道:优惠券的发放渠道:公众号、小程序、app、PC端商城。

有效时间:优惠券的有效时间,这里有两种时间的设置方式,相对时间和绝对时间;相对时间(用户领取后X天内有效)、绝对时间(开始时间——结束时间内有效),时间的设置应该应该精确到某年某月某时某分。

使用范围:设置优惠券的使用范围,所有商品可用,仍是部分商品可用,若是是部分商品可用能够经过分类品牌进行筛选,最后能够选择指定商品不可用;也能够直接指定某些商品可用。

返还规则:返还规则主要考虑到退款退货的状况,从订单的流程上来讲分为正向流程和逆向流程。

  • 正向流程是指:用户正常下单最后收获,没有退款退货操做。计算订单金额时须要减去优惠券的金额,告诉用户优惠金额是多少
  • 逆向流程是指:用户付款以后发生退款,退货操做

逆向流程主要考虑到优惠券的返还问题——怎么返还?

由于可能有不少个商品才同时知足优惠,用户若是仅仅退某款商品该怎么办,退款的细节之后讲订单的时候再说还涉及到一些结帐分佣的问题,那么如今在这个地方优惠券的返还规则。

  1. 统一不返还:优惠券用了就不能退了,无论你退货仍是退款。
  2. 优惠分摊:当多个商品知足优惠券使用条件可是用户退款某个商品时,以优惠券的形式返还给用户改商品分摊的优惠金额。优惠券的使用条件不变,好比用户用了一张满200减60的优惠券,订单有两个商品——一个60元,一个120元,根据权重,这减的60元属于60元商品20元,属于120元商品40元,用户退120元商品的就返还给用户一张满200减40的优惠券,那个也同样。

2.2 领取优惠券

优惠券的领取方式有两种:主动领取和被动领取。

主动领取:用户须要在个人优惠券界面主动领取才可使用优惠券。

被动领取:直接发送给用户,默认领取。

2.3 优惠券核销

当用户下单时须要判断提示用户使用哪一种优惠券,逻辑上分为如下几个步骤:

  1. 从用户的优惠券列表中筛选可用的优惠券,是不是有效时间,是否在商品范围以内,这里用户未领取的优惠券一同计算。
  2. 若是有多种优惠券知足使用条件默认给用户使用优惠金额最高的。
  3. 若是金额相同默认为用户选择使用快过时的优惠券。

3. 优惠券的管理

优惠券的管理,主要是:统计优惠券的使用状况。

优惠券发放了多少?用户领取了多少?核销了多少?剩余多少?这些操做对应的时间是何时?

4. 优惠券的产品设计方法

4.1 优惠券的前端展现问题

咱们主要考虑:优惠券在什么地方展现?展现的形式是什么?

——展现的位置主要有商品详情页面,我的优惠券中心页面。

商品详情页面须要展现用户领取的和未领取的包含在商品下的优惠券,只要是属于商品下的优惠券都须要展现出来。

我的优惠券中心展现用户全部的优惠券,已用的、没有用户,提供领取入口,用户进入能够领取优惠券。

4.2 优惠券管理的后台设计方法

优惠券的后台设计,分为两个菜单:建立优惠券,优惠券管理

  1. 建立优惠券:点击建立优惠券菜单进入编辑页面,须填写先关信息,选择相关信息,表单内容为 2.2.1建立优惠券的各类信息能够去上面看;建立完成点击保存优惠券建立成功,在优惠券管理菜单里显示
  2. 优惠券管理:主要以列表的形式展现优惠券。

优惠券的管理,主要是对优惠券的统计做用列表信息为下:

  • 优惠券信息:优惠券名称,优惠券金额,使用条件
  • 推广信息:展现推广的渠道
  • 发放量、领取量、核销量。

若是是没有发放完成的优惠券能够执行中止发放或者继续发放操做,还能够执行删除操做,删除后前端的领券中心将没有优惠券,同时从后台的优惠券管理中删除。

相关文章
相关标签/搜索