井云服务中心分销系统技术文档
1. 系统概述
井云服务中心分销系统是一个基于多级分销模式的佣金计算与管理功能模块,支持直推佣金和间推佣金的自动计算、用户分销等级管理、佣金记录管理、提现管理等功能。
2. 核心功能特性
2.1 分销等级管理
- 创建分销等级: 支持设置等级名称、描述、最小消费金额、最小下线人数、直推佣金比率、间推佣金比率
- 更新分销等级: 支持动态调整分销等级的各个参数
- 查询分销等级: 支持获取单个等级信息或等级列表
- 删除分销等级: 支持删除指定的分销等级
2.2 佣金计算与管理
- 自动佣金计算: 订单支付成功后自动计算并生成佣金记录
- 多级佣金: 支持直推佣金(一级)和间推佣金(二级)
- 佣金记录管理: 支持佣金记录的查询和状态管理
2.3 提现管理
- 提现申请: 用户可申请提现佣金余额
- 提现审批: 支持管理员处理提现申请
- 提现记录: 管理用户提现历史记录
2.4 用户分销信息
- 分销信息查询: 获取用户当前的分销等级、下线数量、佣金余额等信息
- 佣金记录查询: 查询用户的佣金明细记录
- 交易历史查询: 查询用户的交易历史
3. 数据 模型设计
3.1 DistributionLevel (分销等级)
- Id: int64
- Name: string (等级名称)
- Description: string (等级描述)
- MinConsumptionAmount: string (最小消费金额)
- MinDownlineCount: int (最小下线人数)
- DirectCommissionRate: string (直推佣金比率)
- IndirectCommissionRate: string (间推佣金比率)
- CreatedAt: time.Time
- UpdatedAt: time.Time
3.2 CommissionRecord (佣金记录)
- Id: int64
- OrderID: int64 (订单ID)
- BeneficiaryID: int64 (受益人ID)
- ContributorID: int64 (贡献者ID)
- CommissionAmount: string (佣金金额)
- CommissionRate: string (佣金比率)
- CommissionLevel: int (佣金等级 - 1为直推,2为间推)
- Status: string (状态)
- Description: string (佣金说明)
- CreatedAt: time.Time
- UpdatedAt: time.Time
3.3 WithdrawalRecord (提现记录)
- Id: int64
- UserID: int64 (用户ID)
- Amount: string (提现金额)
- Fee: string (手续费)
- ActualAmount: string (实际到账金额)
- Status: string (状态)
- PaymentMethod: string (支付方式)
- PaymentAccount: string (支付账户)
- ProcessedBy: int64 (处理人ID)
- ProcessedAt: *time.Time (处理时间)
- Remark: string (备注)
- CreatedAt: time.Time
- UpdatedAt: time.Time
3.4 User (用户表扩展)
- DistributionLevelID: int64 (分销等级ID)
- CommissionBalance: string (佣金余额)
4. 业务流程
4.1 分销等级设置流程
- 管理员创建分销等级,设置佣金比率等参数
- 用户满足条件后被分配相应的分销等级
- 不同等级享受不同的佣金比率
4.2 佣金计算流程
- 用户A购买商品,订单支付成功
- 系统查询用户A的直接邀请人B
- 根据B的分销等级计算直推佣金,生成佣金记录
- 系统查询用户A的间接邀请人C
- 根据C的分销等级计算间推佣金,生成佣金记录
- 累计佣金并更新用户佣金余额
4.3 提现流程
- 用户申请提现,填写金额和支付方式
- 系统验证用户余额是否充足
- 扣减用户佣金余额,创建提现申请记录
- 管理员审核提现申请
- 审核通过后处理提现,更新记录状态
5. API 接口定义
5.1 分销等级管理接口
POST /user/distribution/level- 创建分销等级PUT /user/distribution/level/{id}- 更新分销等级GET /user/distribution/levels- 获取分销等级列表DELETE /user/distribution/level/{id}- 删除分销等级