一步一步开发电商平台 优惠活动
电商的促销活动 比较多,常见的 有 限时折扣,直降,组合销售,买赠,团购等。
本来平台中 有几种促销方式,不过有一段时间我们 的方向是 社区超市类商品,要和超市的促销活动一致,即把线下的促销活动搬到线上。
老板的需求就一句话:“跟超市的一样就行”。
我勒个去,没有更多的信息了,我们就收集了一些超市海报,和其他电商的促销类型。开始了功能设计。
ID | 促销形式 | 分类 | 代码 | 修改价格 | 作用范围 | 互斥ID | 说明 |
1 | 买nX送mX (同款) | 买送 | 1 | 否 | 指定商品 | 除8,9外都互斥 | |
2 | 买nX送mY(非同款 | 买送 | 2 | 否 | 指定商品 | 除8,9外都互斥 | |
3 | 第n件a折或 | 折扣 | 4 | 否 | 指定商品 | 除8,9外都互斥 | |
4 | 第n件 b元 | 折扣 | 8 | 否 | 指定商品 | 除8,9外都互斥 | |
5 | a折 | 折扣 | 16 | 是 | 指定商品 | 除8,9外都互斥 | |
6 | b元区 | 特价 | 32 | 是 | 指定商品 | 除8,9外都互斥 | |
7 | 直降c元 | 直降 | 64 | 是 | 指定商品 | 除8,9外都互斥 | |
8 | 满b元换购,满b元+c元换购 | 换购 | 128 | 否 | 9 | ||
9 | +c元换购 | 换购 | 256 | 否 | 8 | ||
10 | 满b元减c元 | 满减 | 512 | 否 | 除8,9外都互斥 | ||
11 | 满b元 赠 Y | 满赠 | 1024 | 否 | 除8,9外都互斥 |
数据库设计
goods | 商品表(修改) | |||
字段名 | 字段类型 | 长度 | 说明 | |
p_id | int | 活动id | ||
p_type_id | int | 活动类型ID,后期升级为活动code的和 | ||
p_name | varchar | 50 | 活动名称 | |
p_value | decimal | 活动变量 当类型id为5:折扣率,6:最终价格,7:直降金额 | ||
p_goods | 优惠活动商品表 | 新增 | ||
p_goods_id | int | 优惠商品id | ||
p_id | int | 优惠ID | ||
p_name | varchar | 优惠名称 | ||
quota_id | int | 套餐id | ||
goods_id | int | 商品id | ||
goods_name | varchar | 商品名称 | ||
goods_store_price | decimal | 店铺价 | ||
buy_limit | int | 购买限制 | ||
p_price | decimal | 优惠价格(换购时为换购价)(赠品时为0) | ||
goods_image | varchar | 商品图片 | ||
state | int | 1 | 状态 | |
goods_type | int | 1 | 商品类型:1:活动商品,2:换购商品,3:赠品 | |
discount_type | int | 1 | 优惠类型:1:折扣,2:特价,3:直降,4:换购 | |
discount_money | decimal | 优惠额:直降金额 | ||
discount_rate | decimal | 折扣率:如8折 为 8 (0到10之间) | ||
add_buy | decimal | 换购金额:即满 xx元换购 的xx | ||
p_quota | 优惠活动套餐 | 新增 | ||
quota_id | 套餐编号 | |||
apply_id | 套餐申请编号 | |||
seller_id | 卖家ID | |||
store_id | 店铺ID | |||
seller_name | 卖家名称 | |||
store_name | 店铺名称 | |||
start_time | 开始时间 | |||
end_time | 结束时间 | |||
state | 配额状态(1-可用/2-取消/3-结束) | |||
p_type | 优惠活动类型 | 新增 | ||
p_type_id | int | 10 | 类型编号 | |
p_type_name | varchar | 类型名称 | ||
state | int | 1 | 类型状态 | |
remark | varchar | 200 | 备注 | |
priority | int | 10 | 优先级权重 | |
p_info | 优惠活动详情表 | 新增 | ||
id | int | 优惠活动ID | ||
goods_limit | int | 商品数限制 | ||
name | varchar | 50 | 优惠名称 | |
quota_id | int | 套餐ID | ||
p_type_id | int | 优惠类型ID | ||
start_time | int | 开始时间 | ||
end_time | int | 结束时间 | ||
seller_id | int | 卖家ID | ||
store_id | int | 10 | 店铺ID | |
member_name | varchar | 50 | 卖家名称 | |
store_name | varchar | 50 | 店铺名称 | |
buy_limit | int | 10 | 用户限买数量 | |
state | int | 1 | 活动状态(1-未发布/2-正常/3-取消/4-失效/5-结束) | |
chain_store_ids | varchar | 1000 | 需要同步的分店 id,用逗号隔开 | |
num1 | int | 10 | 扩展int型字段1 | |
num2 | int | 10 | 扩展int型字段2 | |
num3 | int | 10 | 扩展int型字段3 | |
num4 | int | 10 | 扩展int型字段4 | |
de1 | decimal | 10,2 | 扩展decimal型字段1 | |
de2 | decimal | 10,2 | 扩展decimal型字段2 | |
de3 | decimal | 10,2 | 扩展decimal型字段3 | |
de4 | decimal | 10,2 | 扩展decimal型字段4 | |
remark | varchar | 备注 | ||
p_apply | 优惠活动套餐申请表 | 新增 | ||
apply_id | int | 10 | 申请编号 | |
member_id | int | 10 | 用户编号 | |
member_name | varchar | 50 | 用户名 | |
store_id | int | 10 | 店铺编号 | |
store_name | varchar | 50 | 店铺名称 | |
apply_quantity | int | 1 | 申请数量 | |
apply_date | int | 10 | 申请时间 | |
state | int | 1 | 状态(1-新申请/2-审核通过/3-已取消/4-审核失败) |
活动表用到的字段及参数的使用
不同类型在优惠活动详细表中使用到字段 | (折) | 元 | (折) | 元 | ||||||||
优惠类型ID | num1 | num2 | num3 | num4 | de1 | de2 | de3 | de4 | 备注 | |||
1 | 买nX送mX (同款) | n | m | |||||||||
2 | 买nX送mY(非同款 | n | m | 暂不实现该种促销 | ||||||||
3 | 第n件a折或 | n | a | |||||||||
4 | 第n件 b元 | n | b | |||||||||
5 | a折 | a | ||||||||||
6 | b元区 | b | ||||||||||
7 | 直降c元 | c | ||||||||||
8 | 满b元换购,满b元+c元换购 | b | c | |||||||||
9 | +c元换购 | 不限制满多少钱 | ||||||||||
10 | 满b元减c元 | b | c | b2 | c2 | 可以支持最多两种满减 | ||||||
11 | 满b元 赠 Y | b | ||||||||||
12 | 劲爆价 | 单品价格在活动页设置 |
界面参考某电商网站 活动页
活动详情 商品列表页 原型