Java生鲜电商平台-优惠券系统的架构设计与源码解析前端
电商后台:实例解读促销系统sql
电商后台系统包括商品管理系统、采购系统、仓储系统、订单系统、促销系统、维权系统、财务系统、会员系统、权限系统等,各系统之间相互关联、相互依托,为前端的正常业务流转创建结实稳固的基础。数据库
促销系统的主要目的是便于运营设置各类促销方式,以提升商品的销量、用户的客单价等。后端
在后台各系统中,促销系统和商品管理系统、订单系统关联最大,商品管理系统为促销系统提供活动商品,用户下单后,促销优惠信息会展现在订单系统中。架构
促销系统主要包括促销活动管理和促销类型管理。网站
一、促销活动管理包含活动信息和活动状态管理:ui
活动信息spa
活动状态架构设计
按照活动时间,可分为未开始、进行中、已结束。设计
二、促销类型通常包括:满减、满赠、满折、加价购、特价、套餐、预售、秒杀等。
后台建立促销活动的流程通常是:
下面以示例来对各个促销类型的建立进行简单说明。
设置阶梯满减时,能够对满减额度作监控,以避免高额度的满减值低于低额度的满减值状况出现。
上文有提过,各个电商平台对于赠品的定义是不同的。有些平台的赠品不会对外销售,所以将赠品也做为一个商品类型,仅用做赠送活动;而有些平台则可将正常售卖商品做为赠品。所以需根据平台业务来定义赠品:如果第一种,则选择赠品时,只显示类型为赠品的商品;如果第二种,则选择赠品时,显示全部的商品。
加价购活动的设置中,购买“活动商品”的金额达到加购设置的满额时,能够以加购价购买“加价购商品”。通常加价购商品的价格须要高于设置的加购价,所以选择商品时,可对价格作监控,防止有商品价格太低。
注意:套餐价格不能超过套餐商品原价的总和。
预售是如今主流电商平台常用的促销手段。预售促销不只能够用定金抵押来刺激用户购买商品,同时还能够根据用户的消费意愿,判断商品的市场,以此来有效规避库存积压。
秒杀促销一般做为引流利器,在某个秒杀时间段内吸引大量用户前来抢购。
以上介绍的都是基础的促销方式,要让促销发挥其最大的优点,须要运营人员结合实际业务状况、用户需求进行设置。
系统化的产品经理逐渐在变得愈来愈重要,并非之前单纯的页面和交互来作产品,而是经过功能一步步延伸到模块,再从模块趋变于系统的架构。
当系统化变得愈来愈重要时,咱们就应该思考怎么从大方向来思考产品,如何搭建产品架构?
咱们能够回想:总体系统的搭建尤为是以电商系统为蓝本,产品确定是要商业化,商业化就离不开电商变现,也就会涉及到电商管理系统。而如今电商后台的体系成熟化、完整化,对咱们去理解系统自己都有很强的参考意义。
然而,每次逛电商网站,总有一大堆促销活动。加上如今移动端社交电商的崛起,拉新和促活就是变得尤其重要。能够说促销活动的多样化是平常运营的重要部分。
那么,其实咱们在思考一下:为何你们如此热衷于促销活动?
促销的形态是基于已有商品管理的角度上针对于商品进行有关联的促销形态展现。商品中心的展现就变得尤其重要,对应的商品SKU、商品类目和商品价格(原价、促销价)等有关商品的数据都须要有基础展现。
促销的方式有不少种,刚开始是把线下的促销形式搬到了线上,好比:满减促销、赠品促销、单品促销、多买优惠促销和定金促销等。
而如今的促销方式包含1元夺宝、秒杀活动、团购活动、拍卖活动、拼团等形态。接下来,就一一聊下这些形态的配置和展现形态。
B端商品常常会有批发模式,前端的展现:
经过模型描述:(针对单一的SKU造成组合,单一商品SKU和批发商品造成的“多对多”关系)
则后台怎么配置呢?
(1)批发商品列表(包含商品名称、商家名称、起订量、是否启用、产品审核状态和操做“查看、编辑和删除”)
(2)编辑和新增批发商品展现界面
字段1:批发商品名称是从商品列表中去选择。
字段2:批发商品分类是从商品分类中选择。
后续的字段:显示采购、价格模式(阶梯价格)、最小起订量、库存和商品属性都是和批发活动对应的字段。
由此,能够看出:“商品样式——促销类型——用户关系信息”三者造成了促销体系对应的内容。固然这个只是针对于单一的批发促销方案,若为o2o商城,能够分为自营和商家对应促销管理。
优惠券是电商产品中最多见的促销方式,不管是产品在哪一个阶段都是最有效的促销手段。优惠券的总体模型为:
优惠券的基本展现样式:(固然这只是一种展现样式)
则后台的配置和设置:
(1)通用券(主要针对于商品面值和使用门槛,以及每人限领张数),若商家发放的 一样能够添加指定商家等
(2)一样购物券(场景主要是针对用户购买商品后,给用户返的优惠券)
主要增长了用户获取优惠券的门槛(购物满XX元和容许参加的会员,容许参加的会员就须要和会员体系打通)
拼多可能是拼团活动的集大成者,规则是指定数量的人一块儿购买某商品,能够经过比较低廉的价格得到此商品。
拼团的逻辑为:
前端的基本展现样式为:
那后端的开团列表为:
编辑和新增拼单开团:
拍卖方式一直都有,只不过应用在商品中的样式仍是比较少的,这里稍微的介绍下:
前端展现样式:
后台须要建立拍卖列表:
对应的拍卖商品的编辑和新增:
固然这儿只列举了这几种优惠促销的方案。还有不少种优惠促销的方案,后面能够一块儿聊聊。
总结一下:
代码与数据库下载:
用于存储优惠券信息,须要注意的是优惠券的使用类型:0->全场通用;1->指定分类;2->指定商品,不一样使用类型的优惠券使用范围不同。
create table sms_coupon ( id bigint not null auto_increment, type int(1) comment '优惠卷类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券', name varchar(100) comment '名称', platform int(1) comment '使用平台:0->所有;1->移动;2->PC', count int comment '数量', amount decimal(10,2) comment '金额', per_limit int comment '每人限领张数', min_point decimal(10,2) comment '使用门槛;0表示无门槛', start_time datetime comment '开始使用时间', end_time datetime comment '结束使用时间', use_type int(1) comment '使用类型:0->全场通用;1->指定分类;2->指定商品', note varchar(200) comment '备注', publish_count int comment '发行数量', use_count int comment '已使用数量', receive_count int comment '领取数量', enable_time datetime comment '能够领取的日期', code varchar(64) comment '优惠码', member_level int(1) comment '可领取的会员类型:0->无限制', primary key (id) );
用于存储会员领取及使用优惠券的记录,当会员领取到优惠券时,会产生一条优惠券的记录,须要注意的是它的使用状态:0->未使用;1->已使用;2->已过时。
create table sms_coupon_history ( id bigint not null auto_increment, coupon_id bigint comment '优惠券id', member_id bigint comment '会员id', order_id bigint comment '订单id', coupon_code varchar(64) comment '优惠券码', member_nickname varchar(64) comment '领取人昵称', get_type int(1) comment '获取类型:0->后台赠送;1->主动获取', create_time datetime comment '建立时间', use_status int(1) comment '使用状态:0->未使用;1->已使用;2->已过时', use_time datetime comment '使用时间', order_sn varchar(100) comment '订单号码', primary key (id) );
用于存储优惠券与商品的关系,当优惠券的使用类型为指定商品时,优惠券与商品须要创建关系。
create table sms_coupon_product_relation ( id bigint not null auto_increment, coupon_id bigint comment '优惠券id', product_id bigint comment '商品id', product_name varchar(500) comment '商品名称', product_sn varchar(200) comment '商品条码', primary key (id) );
用于存储优惠券与商品分类的关系,当优惠券的使用类型为指定分类时,优惠券与商品分类须要创建关系。
create table sms_coupon_product_category_relation ( id bigint not null auto_increment, coupon_id bigint comment '优惠券id', product_category_id bigint comment '商品分类id', product_category_name varchar(200) comment '商品分类名称', parent_category_name varchar(200) comment '父分类名称', primary key (id) );
代码与数据库下载,请进QQ群下载。(793305035)