zhibo/礼物系统后台管理部署说明.md

300 lines
6.7 KiB
Markdown
Raw Normal View History

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