292 lines
5.3 KiB
Markdown
292 lines
5.3 KiB
Markdown
|
|
# 礼物分成配置快速指南
|
|||
|
|
|
|||
|
|
## 🚀 5分钟快速上手
|
|||
|
|
|
|||
|
|
### 步骤1:初始化默认配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
POST /api/admin/gift/share-config/init-default
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这将创建默认配置:主播70%,平台30%
|
|||
|
|
|
|||
|
|
### 步骤2:查看配置列表
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
GET /api/admin/gift/share-config/list
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤3:创建自定义配置
|
|||
|
|
|
|||
|
|
**为VIP主播设置80%分成**:
|
|||
|
|
```json
|
|||
|
|
POST /api/admin/gift/share-config/create
|
|||
|
|
{
|
|||
|
|
"configName": "VIP主播分成",
|
|||
|
|
"configType": 2,
|
|||
|
|
"userLevel": 5,
|
|||
|
|
"streamerRatio": 80.00,
|
|||
|
|
"platformRatio": 20.00,
|
|||
|
|
"status": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**为签约主播设置85%分成**:
|
|||
|
|
```json
|
|||
|
|
POST /api/admin/gift/share-config/create
|
|||
|
|
{
|
|||
|
|
"configName": "签约主播分成",
|
|||
|
|
"configType": 3,
|
|||
|
|
"userId": 1001,
|
|||
|
|
"streamerRatio": 85.00,
|
|||
|
|
"platformRatio": 15.00,
|
|||
|
|
"status": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 配置类型对照表
|
|||
|
|
|
|||
|
|
| 类型 | config_type | 必填字段 | 示例 |
|
|||
|
|
|------|-------------|---------|------|
|
|||
|
|
| 全局默认 | 1 | - | 所有主播默认70% |
|
|||
|
|
| 主播等级 | 2 | userLevel | 等级5主播80% |
|
|||
|
|
| 特定主播 | 3 | userId | 主播1001获得85% |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚡ 常用操作
|
|||
|
|
|
|||
|
|
### 修改全局默认分成
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
PUT /api/admin/gift/share-config/update
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"configName": "全局默认分成配置",
|
|||
|
|
"configType": 1,
|
|||
|
|
"streamerRatio": 75.00,
|
|||
|
|
"platformRatio": 25.00
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 禁用某个配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
PUT /api/admin/gift/share-config/1/status?status=0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 启用某个配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
PUT /api/admin/gift/share-config/1/status?status=1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 删除配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
DELETE /api/admin/gift/share-config/2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
注意:全局默认配置不能删除
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔍 查询配置
|
|||
|
|
|
|||
|
|
### 查询所有配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
GET /api/admin/gift/share-config/list?pageNum=1&pageSize=20
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 只查询启用的配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
GET /api/admin/gift/share-config/list?status=1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 只查询等级配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
GET /api/admin/gift/share-config/list?configType=2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 查询单个配置详情
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
GET /api/admin/gift/share-config/1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💡 最佳实践
|
|||
|
|
|
|||
|
|
### 1. 推荐的分成体系
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
新手主播(等级1-2): 60% / 40%
|
|||
|
|
普通主播(等级3-5): 70% / 30%
|
|||
|
|
高级主播(等级6-8): 80% / 20%
|
|||
|
|
顶级主播(等级9-10): 85% / 15%
|
|||
|
|
签约主播(特定): 90% / 10%
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 优先级设置建议
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
全局默认: priority = 0
|
|||
|
|
等级配置: priority = 5-20
|
|||
|
|
特定主播: priority = 100+
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 配置命名规范
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
全局默认: "全局默认分成配置"
|
|||
|
|
等级配置: "等级{X}主播分成配置"
|
|||
|
|
特定主播: "{主播昵称}专属分成配置"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ❌ 常见错误
|
|||
|
|
|
|||
|
|
### 错误1:分成比例不等于100%
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"message": "主播分成比例和平台分成比例之和必须等于100%"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**解决**: 确保 `streamerRatio + platformRatio = 100`
|
|||
|
|
|
|||
|
|
### 错误2:缺少必填字段
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"message": "主播等级配置必须指定用户等级"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**解决**:
|
|||
|
|
- type=2时必须填写`userLevel`
|
|||
|
|
- type=3时必须填写`userId`
|
|||
|
|
|
|||
|
|
### 错误3:重复创建配置
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"message": "该配置已存在,请勿重复创建"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**解决**: 使用更新接口而不是创建接口
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 测试验证
|
|||
|
|
|
|||
|
|
### 1. 验证配置生效
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 赠送礼物
|
|||
|
|
POST /api/front/gift/send
|
|||
|
|
{
|
|||
|
|
"roomId": 1,
|
|||
|
|
"streamerId": 100,
|
|||
|
|
"giftId": 1,
|
|||
|
|
"count": 10
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 查看后端日志
|
|||
|
|
礼物分成 - 总金额:100, 主播收益:70, 平台收益:30
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 验证优先级
|
|||
|
|
|
|||
|
|
```sql
|
|||
|
|
-- 查询主播的分成配置
|
|||
|
|
SELECT * FROM eb_gift_share_config
|
|||
|
|
WHERE status = 1 AND is_deleted = 0
|
|||
|
|
AND (
|
|||
|
|
(config_type = 3 AND user_id = 100) OR
|
|||
|
|
(config_type = 2 AND user_level = 5) OR
|
|||
|
|
(config_type = 1)
|
|||
|
|
)
|
|||
|
|
ORDER BY priority DESC, config_type DESC
|
|||
|
|
LIMIT 1;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📱 前端集成示例
|
|||
|
|
|
|||
|
|
### 显示分成比例
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 获取配置列表
|
|||
|
|
fetch('/api/admin/gift/share-config/list')
|
|||
|
|
.then(res => res.json())
|
|||
|
|
.then(data => {
|
|||
|
|
data.data.list.forEach(config => {
|
|||
|
|
console.log(`${config.configName}: 主播${config.streamerRatio}% 平台${config.platformRatio}%`);
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 创建配置表单
|
|||
|
|
|
|||
|
|
```html
|
|||
|
|
<form id="configForm">
|
|||
|
|
<input name="configName" placeholder="配置名称" required>
|
|||
|
|
<select name="configType" required>
|
|||
|
|
<option value="1">全局默认</option>
|
|||
|
|
<option value="2">主播等级</option>
|
|||
|
|
<option value="3">特定主播</option>
|
|||
|
|
</select>
|
|||
|
|
<input name="streamerRatio" type="number" placeholder="主播分成%" required>
|
|||
|
|
<input name="platformRatio" type="number" placeholder="平台分成%" required>
|
|||
|
|
<button type="submit">创建</button>
|
|||
|
|
</form>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 快速参考
|
|||
|
|
|
|||
|
|
### 接口列表
|
|||
|
|
|
|||
|
|
| 接口 | 方法 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `/list` | GET | 获取配置列表 |
|
|||
|
|
| `/{id}` | GET | 获取配置详情 |
|
|||
|
|
| `/create` | POST | 创建配置 |
|
|||
|
|
| `/update` | PUT | 更新配置 |
|
|||
|
|
| `/{id}` | DELETE | 删除配置 |
|
|||
|
|
| `/{id}/status` | PUT | 启用/禁用 |
|
|||
|
|
| `/init-default` | POST | 初始化默认配置 |
|
|||
|
|
|
|||
|
|
### 字段说明
|
|||
|
|
|
|||
|
|
| 字段 | 类型 | 必填 | 说明 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| configName | String | ✅ | 配置名称 |
|
|||
|
|
| configType | Integer | ✅ | 1/2/3 |
|
|||
|
|
| userId | Integer | ⚠️ | type=3时必填 |
|
|||
|
|
| userLevel | Integer | ⚠️ | type=2时必填 |
|
|||
|
|
| streamerRatio | Decimal | ✅ | 0-100 |
|
|||
|
|
| platformRatio | Decimal | ✅ | 0-100 |
|
|||
|
|
| status | Integer | ❌ | 默认1 |
|
|||
|
|
| priority | Integer | ❌ | 默认0 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**创建时间**: 2024-12-29
|
|||
|
|
**适用版本**: v1.0
|