商城推销模式功能需求文档
一、功能概述
本文档描述商城消费者端的推销模式功能,包含以下三大模块:
- 分享免单系统 - 用户分享商品,达成条件后免单
- 会员等级系统 - 用户等级享受不同优惠价格
- 经销点返利系统 - 经销点销售返利
二、分享免单系统
2.1 功能描述
用户购买商品后,可分享商品链接给其他用户(二级用户)。当二级用户通过分享链接购买该商品累计达到指定数量(默认4件)时,原用户可获得免单奖励,免单金额存入账户余额。
2.2 业务流程
2.3 数据库设计
2.3.1 分享记录表 ml_share_records
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| user_id |
UUID |
分享用户ID |
| product_id |
UUID |
商品ID |
| order_id |
UUID |
关联订单ID |
| share_code |
VARCHAR(20) |
分享码(唯一) |
| required_count |
INT |
需要的购买数量(默认4) |
| current_count |
INT |
当前已购买数量 |
| status |
INT |
状态:0-进行中,1-已完成,2-已失效 |
| reward_amount |
DECIMAL(10,2) |
奖励金额 |
| created_at |
TIMESTAMPTZ |
创建时间 |
| completed_at |
TIMESTAMPTZ |
完成时间 |
2.3.2 二级购买记录表 ml_secondary_purchases
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| share_record_id |
UUID |
关联分享记录ID |
| buyer_id |
UUID |
购买用户ID |
| order_id |
UUID |
订单ID |
| quantity |
INT |
购买数量 |
| created_at |
TIMESTAMPTZ |
创建时间 |
2.3.3 免单奖励记录表 ml_free_order_rewards
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| user_id |
UUID |
获得奖励的用户ID |
| share_record_id |
UUID |
关联分享记录ID |
| amount |
DECIMAL(10,2) |
奖励金额 |
| status |
INT |
状态:0-待处理,1-已发放,2-已清零 |
| balance_before |
DECIMAL(10,2) |
发放前余额 |
| balance_after |
DECIMAL(10,2) |
发放后余额 |
| cleared_at |
TIMESTAMPTZ |
清零时间 |
| cleared_by |
UUID |
清零操作人 |
| created_at |
TIMESTAMPTZ |
创建时间 |
2.4 API 接口
| 接口 |
方法 |
说明 |
| /api/share/create |
POST |
创建分享记录,生成分享码 |
| /api/share/info |
GET |
获取分享详情和进度 |
| /api/share/validate |
GET |
验证分享码有效性 |
| /api/share/my-records |
GET |
获取我的分享记录列表 |
| /api/share/rewards |
GET |
获取我的免单奖励记录 |
| /api/admin/clear-balance |
POST |
商家清零用户余额(后台) |
2.5 前端页面
2.5.1 分享弹窗(订单详情页)
- 显示分享链接/二维码
- 显示当前进度(X/4)
- 分享按钮(微信好友、朋友圈)
2.5.2 我的分享页
- 分享记录列表
- 每条记录显示:商品信息、进度、状态
- 邀请好友按钮
2.5.3 我的余额页
三、会员等级系统
3.1 功能描述
商家可设置多个会员等级,每个等级对应不同的优惠折扣。用户可通过以下方式升级:
- 商家手动设置等级
- 累计消费金额自动升级
3.2 等级设置
| 等级 |
名称 |
升级条件 |
折扣 |
| 0 |
普通会员 |
注册即可 |
无折扣 |
| 1 |
铜牌会员 |
累计消费500元 |
98折 |
| 2 |
银牌会员 |
累计消费2000元 |
95折 |
| 3 |
金牌会员 |
累计消费5000元 |
92折 |
| 4 |
钻石会员 |
累计消费10000元 |
88折 |
| 5 |
VIP会员 |
商家手动设置 |
85折 |
3.3 数据库设计
3.3.1 会员等级配置表 ml_member_levels
| 字段名 |
类型 |
说明 |
| id |
INT |
等级ID |
| name |
VARCHAR(50) |
等级名称 |
| min_amount |
DECIMAL(10,2) |
升级最低消费金额 |
| discount |
DECIMAL(5,4) |
折扣率(0.85表示85折) |
| icon |
VARCHAR(200) |
等级图标 |
| description |
TEXT |
等级说明 |
| sort_order |
INT |
排序 |
| status |
INT |
状态:0-禁用,1-启用 |
3.3.2 用户会员信息扩展(ml_user_profiles 扩展字段)
| 字段名 |
类型 |
说明 |
| member_level |
INT |
当前会员等级 |
| total_spent |
DECIMAL(10,2) |
累计消费金额 |
| level_updated_at |
TIMESTAMPTZ |
等级更新时间 |
| manual_level |
BOOLEAN |
是否手动设置等级 |
| manual_level_by |
UUID |
手动设置操作人 |
3.3.3 会员等级变更记录表 ml_member_level_logs
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| user_id |
UUID |
用户ID |
| old_level |
INT |
原等级 |
| new_level |
INT |
新等级 |
| reason |
VARCHAR(200) |
变更原因 |
| operator_id |
UUID |
操作人(自动则为空) |
| created_at |
TIMESTAMPTZ |
创建时间 |
3.4 API 接口
| 接口 |
方法 |
说明 |
| /api/member/levels |
GET |
获取会员等级列表 |
| /api/member/my-info |
GET |
获取我的会员信息 |
| /api/member/upgrade-check |
POST |
检查并升级会员等级 |
| /api/admin/set-member-level |
POST |
商家手动设置用户等级 |
3.5 前端页面
3.5.1 会员中心页
3.5.2 商品详情页
四、经销点返利系统
4.1 功能描述
商家可创建多个经销点,每个经销点有独立的推广码。经销点通过推广码产生的订单可获得返利,返利按单数计算。
4.2 返利规则
| 单数范围 |
返利金额/单 |
| 1-10单 |
2元/单 |
| 11-50单 |
3元/单 |
| 51-100单 |
4元/单 |
| 100单以上 |
5元/单 |
4.3 数据库设计
4.3.1 经销点表 ml_distribution_points
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| name |
VARCHAR(100) |
经销点名称 |
| contact_name |
VARCHAR(50) |
联系人 |
| contact_phone |
VARCHAR(20) |
联系电话 |
| address |
VARCHAR(200) |
地址 |
| invite_code |
VARCHAR(20) |
邀请码(唯一) |
| owner_id |
UUID |
负责人用户ID |
| status |
INT |
状态:0-禁用,1-启用 |
| total_orders |
INT |
累计订单数 |
| total_rebate |
DECIMAL(10,2) |
累计返利 |
| balance |
DECIMAL(10,2) |
可提现余额 |
| created_at |
TIMESTAMPTZ |
创建时间 |
4.3.2 经销点订单关联表 ml_distribution_orders
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| distribution_id |
UUID |
经销点ID |
| order_id |
UUID |
订单ID |
| user_id |
UUID |
下单用户ID |
| order_amount |
DECIMAL(10,2) |
订单金额 |
| rebate_amount |
DECIMAL(10,2) |
返利金额 |
| status |
INT |
状态:0-待结算,1-已结算 |
| settled_at |
TIMESTAMPTZ |
结算时间 |
| created_at |
TIMESTAMPTZ |
创建时间 |
4.3.3 返利配置表 ml_rebate_config
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| min_orders |
INT |
最小单数 |
| max_orders |
INT |
最大单数 |
| rebate_per_order |
DECIMAL(10,2) |
每单返利金额 |
| status |
INT |
状态 |
4.3.4 返利提现记录表 ml_rebate_withdrawals
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| distribution_id |
UUID |
经销点ID |
| amount |
DECIMAL(10,2) |
提现金额 |
| status |
INT |
状态:0-待处理,1-已完成,2-已拒绝 |
| handled_by |
UUID |
处理人 |
| handled_at |
TIMESTAMPTZ |
处理时间 |
| created_at |
TIMESTAMPTZ |
创建时间 |
4.4 API 接口
| 接口 |
方法 |
说明 |
| /api/distribution/info |
GET |
获取经销点信息 |
| /api/distribution/orders |
GET |
获取经销点订单列表 |
| /api/distribution/rebate-summary |
GET |
获取返利统计 |
| /api/distribution/withdraw |
POST |
申请提现 |
| /api/admin/distributions |
GET |
获取经销点列表(后台) |
| /api/admin/create-distribution |
POST |
创建经销点(后台) |
| /api/admin/settle-rebate |
POST |
结算返利(后台) |
4.5 前端页面
4.5.1 经销点中心页(经销点负责人)
- 经销点信息
- 今日/本月订单数
- 累计返利
- 可提现余额
- 申请提现按钮
4.5.2 经销点订单页
五、用户余额系统
5.1 数据库设计
5.1.1 用户余额表 ml_user_balance
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| user_id |
UUID |
用户ID |
| balance |
DECIMAL(10,2) |
当前余额 |
| frozen_balance |
DECIMAL(10,2) |
冻结余额 |
| total_earned |
DECIMAL(10,2) |
累计获得 |
| total_withdrawn |
DECIMAL(10,2) |
累计提现 |
| updated_at |
TIMESTAMPTZ |
更新时间 |
5.1.2 余额变动记录表 ml_balance_records
| 字段名 |
类型 |
说明 |
| id |
UUID |
主键 |
| user_id |
UUID |
用户ID |
| type |
VARCHAR(50) |
类型:free_order-免单,rebate-返利,withdraw-提现,clear-清零 |
| amount |
DECIMAL(10,2) |
变动金额(正数增加,负数减少) |
| balance_before |
DECIMAL(10,2) |
变动前余额 |
| balance_after |
DECIMAL(10,2) |
变动后余额 |
| related_id |
UUID |
关联ID |
| description |
VARCHAR(200) |
描述 |
| operator_id |
UUID |
操作人(系统操作为空) |
| created_at |
TIMESTAMPTZ |
创建时间 |
六、前端页面汇总
6.1 消费者端新增页面
| 页面 |
路径 |
说明 |
| 我的分享 |
/pages/mall/consumer/share/my-shares |
分享记录列表 |
| 分享详情 |
/pages/mall/consumer/share/detail |
分享进度详情 |
| 我的余额 |
/pages/mall/consumer/balance/index |
余额和奖励记录 |
| 会员中心 |
/pages/mall/consumer/member/index |
会员等级信息 |
| 会员权益 |
/pages/mall/consumer/member/benefits |
等级权益说明 |
6.2 经销点端页面(可选独立入口)
| 页面 |
路径 |
说明 |
| 经销点中心 |
/pages/distribution/index |
经销点首页 |
| 经销点订单 |
/pages/distribution/orders |
订单列表 |
| 返利记录 |
/pages/distribution/rebates |
返利记录 |
| 提现申请 |
/pages/distribution/withdraw |
提现页面 |
七、开发优先级
第一阶段(核心功能)
- 用户余额系统
- 分享免单系统
- 会员等级系统
第二阶段(扩展功能)
- 经销点返利系统
- 后台管理功能
- 数据统计报表
八、注意事项
-
安全性
- 分享码唯一且不可预测
- 防止刷单作弊(同一用户多次购买不计入)
- 余额变动需有完整记录
-
性能
-
合规性
-
扩展性