zhibo/礼物系统后台管理部署说明.md
2026-01-03 19:22:42 +08:00

300 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 礼物系统后台管理部署说明
## 已完成的工作
### 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`
## 联系方式
如有问题,请查看相关文档或联系开发团队。