电商的促销活动 比较多,常见的 有 限时折扣,直降,组合销售,买赠,团购等。
本来平台中 有几种促销方式,不过有一段时间我们 的方向是 社区超市类商品,要和超市的促销活动一致,即把线下的促销活动搬到线上。
老板的需求就一句话:“跟超市的一样就行”。
我勒个去,没有更多的信息了,我们就收集了一些超市海报,和其他电商的促销类型。开始了功能设计。
| 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 | 劲爆价 | 单品价格在活动页设置 | ||||||||||
界面参考某电商网站 活动页


活动详情 商品列表页 原型
