300 lines
6.7 KiB
Markdown
300 lines
6.7 KiB
Markdown
|
|
# 礼物系统后台管理部署说明
|
|||
|
|
|
|||
|
|
## 已完成的工作
|
|||
|
|
|
|||
|
|
### 1. 后端API ✅
|
|||
|
|
- **GiftAdminController.java** - 礼物管理后台控制器
|
|||
|
|
- 礼物打赏记录列表(支持搜索和日期筛选)
|
|||
|
|
- 礼物统计数据(总数、总价值、今日数据)
|
|||
|
|
- 礼物配置管理(增删改查)
|
|||
|
|
- 充值套餐管理
|
|||
|
|
- 充值记录查询
|
|||
|
|
|
|||
|
|
### 2. 前端页面 ✅
|
|||
|
|
- **gift.js** - 礼物管理API接口
|
|||
|
|
- **gift/records/index.vue** - 礼物打赏记录页面
|
|||
|
|
- 统计卡片(总礼物数、总价值、今日数据)
|
|||
|
|
- 搜索功能(关键词、日期范围)
|
|||
|
|
- 礼物记录表格(礼物信息、送礼者、接收者、直播间、时间)
|
|||
|
|
- 分页功能
|
|||
|
|
|
|||
|
|
## 部署步骤
|
|||
|
|
|
|||
|
|
### 步骤1:执行数据库脚本(如果还没执行)
|
|||
|
|
```bash
|
|||
|
|
mysql -h 1.15.149.240 -u root -p zhibo < virtual_currency_and_gift_system.sql
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤2:编译后端
|
|||
|
|
```bash
|
|||
|
|
cd Zhibo/zhibo-h
|
|||
|
|
mvn clean package -DskipTests
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤3:部署后端服务
|
|||
|
|
```bash
|
|||
|
|
# 停止服务
|
|||
|
|
ssh root@1.15.149.240 "cd /root/zhibo && docker-compose stop crmeb-admin"
|
|||
|
|
|
|||
|
|
# 上传jar包
|
|||
|
|
scp crmeb-admin/target/Crmeb-admin.jar root@1.15.149.240:/root/zhibo/
|
|||
|
|
|
|||
|
|
# 启动服务
|
|||
|
|
ssh root@1.15.149.240 "cd /root/zhibo && docker-compose up -d crmeb-admin"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤4:编译前端
|
|||
|
|
```bash
|
|||
|
|
cd Zhibo/admin
|
|||
|
|
npm run build:prod
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤5:部署前端
|
|||
|
|
```bash
|
|||
|
|
# 上传到服务器
|
|||
|
|
scp -r dist/* root@1.15.149.240:/root/zhibo/admin/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤6:配置路由
|
|||
|
|
|
|||
|
|
在 `Zhibo/admin/src/router/index.js` 中添加礼物管理路由:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
{
|
|||
|
|
path: '/gift',
|
|||
|
|
component: Layout,
|
|||
|
|
redirect: '/gift/records',
|
|||
|
|
name: 'Gift',
|
|||
|
|
meta: { title: '礼物管理', icon: 'el-icon-present' },
|
|||
|
|
children: [
|
|||
|
|
{
|
|||
|
|
path: 'records',
|
|||
|
|
name: 'GiftRecords',
|
|||
|
|
component: () => import('@/views/gift/records/index'),
|
|||
|
|
meta: { title: '礼物打赏', icon: 'el-icon-present' }
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 页面功能说明
|
|||
|
|
|
|||
|
|
### 礼物打赏记录页面
|
|||
|
|
|
|||
|
|
#### 统计卡片
|
|||
|
|
- **总礼物数**:所有时间的礼物总数量
|
|||
|
|
- **总价值**:所有礼物的总价值(虚拟币)
|
|||
|
|
- **今日礼物数**:今天收到的礼物数量
|
|||
|
|
- **今日价值**:今天礼物的总价值
|
|||
|
|
|
|||
|
|
#### 搜索功能
|
|||
|
|
- **关键词搜索**:可搜索送礼者昵称、接收者昵称、礼物名称
|
|||
|
|
- **日期筛选**:可按开始日期和结束日期筛选记录
|
|||
|
|
|
|||
|
|
#### 礼物记录表格
|
|||
|
|
显示字段:
|
|||
|
|
- ID
|
|||
|
|
- 礼物信息(图标、名称、单价、数量)
|
|||
|
|
- 总价值
|
|||
|
|
- 送礼者(头像、昵称、手机号)
|
|||
|
|
- 接收者/主播(头像、昵称、手机号)
|
|||
|
|
- 直播间名称
|
|||
|
|
- 赠送时间
|
|||
|
|
|
|||
|
|
#### 特殊处理
|
|||
|
|
- 匿名送礼显示为"匿名用户"
|
|||
|
|
- 没有直播间的显示"-"
|
|||
|
|
- 支持分页查看
|
|||
|
|
|
|||
|
|
## API接口说明
|
|||
|
|
|
|||
|
|
### 1. 获取礼物打赏记录
|
|||
|
|
```
|
|||
|
|
GET /api/admin/gift/records
|
|||
|
|
参数:
|
|||
|
|
- keyword: 关键词(可选)
|
|||
|
|
- startDate: 开始日期(可选)
|
|||
|
|
- endDate: 结束日期(可选)
|
|||
|
|
- page: 页码(默认1)
|
|||
|
|
- limit: 每页数量(默认20)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 获取礼物统计
|
|||
|
|
```
|
|||
|
|
GET /api/admin/gift/statistics
|
|||
|
|
返回:
|
|||
|
|
- totalCount: 总礼物数
|
|||
|
|
- totalValue: 总价值
|
|||
|
|
- todayCount: 今日礼物数
|
|||
|
|
- todayValue: 今日价值
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 获取礼物配置列表
|
|||
|
|
```
|
|||
|
|
GET /api/admin/gift/config/list
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 添加礼物配置
|
|||
|
|
```
|
|||
|
|
POST /api/admin/gift/config/add
|
|||
|
|
请求体:
|
|||
|
|
{
|
|||
|
|
"name": "礼物名称",
|
|||
|
|
"icon": "图标URL",
|
|||
|
|
"price": 价格,
|
|||
|
|
"animation": "动画效果",
|
|||
|
|
"sortOrder": 排序
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5. 更新礼物配置
|
|||
|
|
```
|
|||
|
|
POST /api/admin/gift/config/update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6. 删除礼物配置
|
|||
|
|
```
|
|||
|
|
POST /api/admin/gift/config/delete/{id}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7. 获取充值套餐列表
|
|||
|
|
```
|
|||
|
|
GET /api/admin/gift/recharge/packages
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8. 更新充值套餐
|
|||
|
|
```
|
|||
|
|
POST /api/admin/gift/recharge/package/update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9. 获取充值记录
|
|||
|
|
```
|
|||
|
|
GET /api/admin/gift/recharge/records
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 测试流程
|
|||
|
|
|
|||
|
|
### 1. 测试礼物打赏记录查看
|
|||
|
|
1. 登录后台管理系统
|
|||
|
|
2. 进入"礼物管理" -> "礼物打赏"
|
|||
|
|
3. 查看统计卡片数据是否正确
|
|||
|
|
4. 查看礼物记录列表是否显示
|
|||
|
|
5. 测试搜索功能
|
|||
|
|
6. 测试日期筛选功能
|
|||
|
|
7. 测试分页功能
|
|||
|
|
|
|||
|
|
### 2. 测试数据准备
|
|||
|
|
如果没有测试数据,可以通过APP端送礼物来生成:
|
|||
|
|
1. 在APP中充值虚拟货币
|
|||
|
|
2. 进入直播间
|
|||
|
|
3. 送礼物给主播
|
|||
|
|
4. 返回后台查看记录
|
|||
|
|
|
|||
|
|
### 3. 验证数据准确性
|
|||
|
|
```sql
|
|||
|
|
-- 查询礼物记录
|
|||
|
|
SELECT * FROM eb_gift_record ORDER BY create_time DESC LIMIT 10;
|
|||
|
|
|
|||
|
|
-- 查询统计数据
|
|||
|
|
SELECT
|
|||
|
|
COUNT(*) as total_count,
|
|||
|
|
SUM(total_price) as total_value,
|
|||
|
|
SUM(CASE WHEN DATE(create_time) = CURDATE() THEN 1 ELSE 0 END) as today_count,
|
|||
|
|
SUM(CASE WHEN DATE(create_time) = CURDATE() THEN total_price ELSE 0 END) as today_value
|
|||
|
|
FROM eb_gift_record;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 后续扩展功能
|
|||
|
|
|
|||
|
|
### 1. 礼物配置管理页面
|
|||
|
|
创建独立页面管理礼物配置:
|
|||
|
|
- 添加新礼物
|
|||
|
|
- 编辑礼物信息
|
|||
|
|
- 上传礼物图标
|
|||
|
|
- 设置礼物价格
|
|||
|
|
- 启用/禁用礼物
|
|||
|
|
|
|||
|
|
### 2. 充值套餐管理页面
|
|||
|
|
创建独立页面管理充值套餐:
|
|||
|
|
- 添加新套餐
|
|||
|
|
- 编辑套餐信息
|
|||
|
|
- 设置赠送比例
|
|||
|
|
- 设置热门推荐
|
|||
|
|
- 启用/禁用套餐
|
|||
|
|
|
|||
|
|
### 3. 充值记录查看页面
|
|||
|
|
创建独立页面查看充值记录:
|
|||
|
|
- 用户充值记录
|
|||
|
|
- 充值金额统计
|
|||
|
|
- 支付方式统计
|
|||
|
|
- 充值趋势图表
|
|||
|
|
|
|||
|
|
### 4. 数据导出功能
|
|||
|
|
- 导出礼物记录为Excel
|
|||
|
|
- 导出充值记录为Excel
|
|||
|
|
- 生成统计报表
|
|||
|
|
|
|||
|
|
### 5. 图表统计
|
|||
|
|
- 礼物趋势图(按日期)
|
|||
|
|
- 热门礼物排行榜
|
|||
|
|
- 送礼用户排行榜
|
|||
|
|
- 收礼主播排行榜
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **权限控制**
|
|||
|
|
- 确保只有管理员可以访问礼物管理页面
|
|||
|
|
- 敏感操作需要二次确认
|
|||
|
|
|
|||
|
|
2. **数据安全**
|
|||
|
|
- 礼物记录不可删除,只能查看
|
|||
|
|
- 充值记录不可修改
|
|||
|
|
- 所有操作记录日志
|
|||
|
|
|
|||
|
|
3. **性能优化**
|
|||
|
|
- 大量数据时使用分页
|
|||
|
|
- 统计数据可以缓存
|
|||
|
|
- 定期归档历史数据
|
|||
|
|
|
|||
|
|
4. **用户体验**
|
|||
|
|
- 加载状态提示
|
|||
|
|
- 错误信息友好提示
|
|||
|
|
- 操作成功反馈
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 后台看不到礼物记录?
|
|||
|
|
**A:** 检查以下几点:
|
|||
|
|
1. 数据库表是否创建成功
|
|||
|
|
2. 后端服务是否重启
|
|||
|
|
3. 前端是否重新编译
|
|||
|
|
4. 是否有测试数据
|
|||
|
|
|
|||
|
|
### Q2: 统计数据不准确?
|
|||
|
|
**A:**
|
|||
|
|
1. 检查SQL查询是否正确
|
|||
|
|
2. 检查数据库数据是否完整
|
|||
|
|
3. 清除浏览器缓存重新加载
|
|||
|
|
|
|||
|
|
### Q3: 搜索功能不工作?
|
|||
|
|
**A:**
|
|||
|
|
1. 检查后端API是否正确处理参数
|
|||
|
|
2. 检查前端是否正确传递参数
|
|||
|
|
3. 查看浏览器控制台错误信息
|
|||
|
|
|
|||
|
|
## 文件清单
|
|||
|
|
|
|||
|
|
### 后端文件
|
|||
|
|
- `Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/GiftAdminController.java`
|
|||
|
|
|
|||
|
|
### 前端文件
|
|||
|
|
- `Zhibo/admin/src/api/gift.js`
|
|||
|
|
- `Zhibo/admin/src/views/gift/records/index.vue`
|
|||
|
|
|
|||
|
|
### 数据库文件
|
|||
|
|
- `virtual_currency_and_gift_system.sql`
|
|||
|
|
|
|||
|
|
## 联系方式
|
|||
|
|
|
|||
|
|
如有问题,请查看相关文档或联系开发团队。
|