企业级电商平台提供商,为企业级商家提供电商平台搭建及解决方案服务

全国热线:4008-868-127

电商促销后台逻辑

2018-10-24 1142
分类: 技术干货

电商所谓营销,归根结底都是订单金额的变化;如果我们清楚的知道订单金额的计算流程是怎样的,那么我们只需要顺着系统的计算流程做促销,就不用担心各种促销类型之间产生重叠或者冲突的情况了。

电商所谓营销,归根结底都是订单金额的变化;如果我们清楚的知道订单金额的计算流程是怎样的,那么我们只需要顺着系统的计算流程做促销,就不用担心各种促销类型之间产生重叠或者冲突的情况了。当我们知道这个关系后,就可以将营销活动区分为三种类型:改商品价格、改商品小计价格、改订单价格,因为无论什么营销归根结底都是可以描述成改价格。

网上商城系统网站购物车中任何增删查改都要重新计算促销,所以促销的计算变得尤为重要,感觉京东已经把促销做到了极致。

从模式上来讲,我们公司的促销就相当于京东自营,所以很多也都是参考京东自营的,但我们还没法做到像京东促销那样强大。

这里,将我们做的促销跟大家分享一下,只涉及后台接口逻辑部分。

接口的功能就是输入商品列表,返回加了促销分组后的商品列表。

首先要声明两点:

一、不是通用的促销设计,只是我们公司目前支持的促销设计及逻辑;

二、作者水平有限,不会画网上电子商城系统图,所以图画得比较丑,也很粗,希望大家不要介意;

三、不谈性能

废话就不多说了,下面正式开始。。。

电商促销后台逻辑

促销类型

前面说了,促销归根结底是改价格。在我们这里其它单品促销就是改商品价格;而条件促销就相当于改小计的价格;至于赠品促销不设计改价格,可以认为是单品促销的一种类型。

电商促销后台逻辑

电商促销后台逻辑

主流程

“同类型通过实体进行互斥、不同类型可以相互叠加。”这是别人总结的设计电商促销系统的基本原则,我也比较认同。

上面接口主流程就是先应用单品促销,再应用条件促销。稍微再细化一点儿就是这样的:

电商促销后台逻辑

先处理赠品促销,将赠品挂载到主商品(原先用户添加的购物车中的商品我称之为主商品)上,再应用单品促销。

在进行单品促销的时候,很有可能同一个商品命中多个单品促销。这个时候只能取一个促销,此处的计算逻辑是这样的:

1、优惠力度最大的优先;

2、优惠力度相同时,取最新创建的那个(创建时间最新);

例如:

商品A命中四条促销,分别是:

【促销1】直降2元,

【促销2】折扣8折,

【促销3】直降1元。假设A的原价时10元、

那么经过计算

【促销1】8元,

【促销2】8元,

【促销3】9元。这个时候,

【促销3】应该被剔除、

假设【促销2】的创建时间比【促销1】要晚,那么应该取【促销2】。即商品A最终命中【促销2】。原价10元,促销价8元。

电商促销后台逻辑

计算商品价格流程

稍微解释一下:

特价:商品A原价12元,今日特价9.9元。
折扣:商品打几折。
直降:商品A原价12元,今日直降3元,所以最终9元。且当促销价低于原价的70%时恢复原价。

电商促销后台逻辑

限购流程

这里有两点需要说明:

限购的话需要查订单系统,但是刚才说了购物车中的任意增删查改都要重新计算促销,所以如果这里直接调订单的话可能订单的顶不住(技术实力还比较薄弱,无奈!!!),考虑到这里我们冗余了订单数据,每次从本地数据库去查。当然,这样肯定不准,但是我们只保证90%的情况就可以了,所以这里我们采用这种方式。
拆商品行。还是用上面的例子,商品A命中了【促销2】,假设【促销2】限购每人每单1件,而现在A 的数量时3,那么我们会拆成2行,第一行商品A售价8元数量1件,第二行商品A售价10元数量2件。

条件促销分组

同一个商品可能会命中多个条件促销,而最终每个商品只能应用一个条件促销(即每个商品最终只能属于一个组)

我们说,同种类型的促销不能叠加,不同类型的促销可以叠加。在我们这里,单品促销和单品促销不能叠加,条件促销与条件促销不能叠加,单品与条件可以叠加。

程序走到这里,我们已经完成了单品促销的处理,接下来处理条件促销。在决定商品应该最终应用哪个条件促销时,我们的原则是这样的:

1、优先考虑满足条件的促销

这句话的意思是,假设商品A,商品B满足【促销1】满100减20这个阶梯,同时A和B又都命中了【促销2】但是不满足【促销2】的条件,因为假设【促销2】的最小阶梯是满150减30。那么这个时候,虽然A和B都同时命中【促销1】和【促销2】,但A和B一起正好符合【促销1】满100减20的条件,所以这个时候促销A和B应该最终取【促销2】

2、同时满足多个条件促销时,取后创建的那个(创建时间最近)

还是上面的例子,假设A和B的总金额加起来是160元,那么它们都满足【促销1】和【促销2】,假设【促销2】是后创建的,所以此时它们最终命中的条件促销应该取【促销2】。并且,之后应该讲它们从【促销1】的商品组中剔除(PS:因为一个商品只能属于一个组,即只能应用一个条件促销)。京东在这里对每种促销做了计算,把最终用哪个促销的决定权交给用户去选,我们这里不搞这么复杂。

电商促销后台逻辑

说了这么多,可能有点晕,下面举个例子

假设有A,B,C,D四个商品,促销1234是四个促销

如图,【促销1】是所有商品,所有A,B,C,D四个都命中【促销1】,换句话说【促销1】的商品组中有A,B,C,D

【促销2】的商品组中有A,C

【促销3】的商品组中有A,B

【促销4】的商品组中有A,B,C

假设促销1,2,3,4是依次创建的,也就是说4是最晚创建的,1是最早创建的

再假设,A+B+C符合【促销4】的其中一个阶梯条件,A+B符合【促销3】中的其中一个阶梯条件,A+B+C+D符合【促销1】的其中最低一级的阶梯条件

那么,最终的促销分组应该是这样的:

【促销4】的商品组有:A,B,C

【促销3】的商品组为空

【促销2】的商品组为空

【促销1】的商品组中有:D,而且不满足最低的阶梯,因为原来A+B+C+D满足最低一级的阶梯,现在只剩下D了当然不满足最低一个的阶梯

电商促销后台逻辑

条件促销分组计算

在代码实现上,这里是两层循环:

第一层是条件促销列表
第二层是某个条件促销中的商品组

部分代码实现

代码可能是这样的,下面贴出条件促销部分的代码片段

电商促销后台逻辑

电商促销后台逻辑

电商促销后台逻辑

返回的数据接口

最终返回的应该是一个列表,列表中的每一个元素代表一个条件促销(即分组)

接口看起来可能是这样的:

电商促销后台逻辑

电商促销后台逻辑

电商促销后台逻辑

电商促销后台逻辑

来源:博客园

<数商云(www.shushangyun.com)是国内知名企业级电商平台提供商,为企业级商家提供最佳的系统开发(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、供应链系统搭建及电商行业解决方案服务>

网站声明:以上内容为数商云电子商务系统网站的原创文章,如需转载,请注明出处,谢谢合作!
评论
剩余-200
发表
电商头条文章
1 深度解析什么是WMS仓库管理系统?
WMS一般具有以下几个功能模块:管理单独订单处理及库存控制、基本信息管理、货物流管理、信息报表、收货管理、拣选管理、盘点管理、移库管理、打印管理和后台服务系统。
2 阿里中台变“厚”,企业中台路在何方?
2015年,阿里提出“小前台、大中台”战略,一经推出,震惊业界。在此之前阿里已经足足准备了6年,“中台战略”的推出是水到渠成的事情。看到这里,各企业的CIO们自己掂量掂量,你家的中台准备了几年?
3 企业级API网关接口开发,提高微服务体系架构稳定性、响应效率
API网关是提供服务开放和共享的企业级PaaS平台,提供发布管理、统一认证鉴权、流控、协议转换、服务审计等功能,帮助用户实现内部多系统间,或者内部系统与外部系统之间实现跨系统、跨协议的服务能力互通。
4 打造企业级微服务平台架构,分布式应用场景管理
微服务平台架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务。
5 企业需要的中台是什么?答案是:指挥官体系
直接讲观点,我认为“中台” 概念没有反应这件事情的本质,我希望把它命名为“指挥官体系”。企业需要的是指挥官体系,大家热议的中台的本质对于企业而言真正需要的其实是指挥官体系。从今天开始,忘记“中台”, 记住“指挥官体系”这五个字。
热门文章

填写以下信息, 免费获取方案报价

姓名
手机号码
你的职位
企业名称
开发类型
请选择开发类型
  • B2B电商平台
  • B2C电商平台
  • B2B2C电商平台
  • O2O电商平台
  • 供应链管平台
  • 采购管理平台
  • 供应商管理平台
  • B2B渠道订货平台
  • 其他
  • 需求描述

    请您填写以下信息,马上预约演示

    姓名
    手机号码
    你的职位
    企业名称

    恭喜您的需求提交成功

    尊敬的用户,您好!

    您的需求我们已经收到,我们会为您安排专属电商商务顾问在24小时内(工作日时间)内与您取得联系,请您在此期间保持电话畅通,并且注意接听来自广州区域的来电。
    感谢您的支持!

    console.log();