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`
|
||
|
||
## 联系方式
|
||
|
||
如有问题,请查看相关文档或联系开发团队。
|