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