4.5 KiB
4.5 KiB
立即修复后台统计数据显示问题
当前状态
- ✅ 后端代码已修改(添加totalLikeCount统计)
- ✅ 前端代码已修改(显示被点赞数)
- ❌ 后端服务未重新部署(导致修改未生效)
快速修复步骤
第1步:验证数据库有数据(可选)
# 连接到数据库
mysql -h 1.15.149.240 -u root -p zhibo
# 运行以下查询
SELECT
u.uid,
u.nickname,
(SELECT COUNT(*) FROM eb_follow_record f WHERE f.followed_id = u.uid AND f.follow_status IN ('1', '关注') AND f.is_deleted = 0) as fansCount,
(SELECT COUNT(*) FROM eb_live_room r WHERE r.uid = u.uid) as roomCount,
(SELECT COALESCE(SUM(r.like_count), 0) FROM eb_live_room r WHERE r.uid = u.uid) as totalLikeCount
FROM eb_user u
WHERE u.is_streamer = 1;
如果看到数据不是0,说明数据库中有数据,只是后端服务没有更新。
第2步:重新编译后端(在本地执行)
cd Zhibo\zhibo-h
mvn clean package -DskipTests
等待编译完成,确认生成了新的jar包:
- 文件位置:
Zhibo\zhibo-h\crmeb-admin\target\crmeb-admin.jar
第3步:部署到服务器
方法A:使用自动脚本(推荐)
直接运行:
deploy-backend-streamer-fix.bat
方法B:手动部署
# 1. 停止服务
ssh root@1.15.149.240 "cd /root/zhibo && docker-compose stop crmeb-admin"
# 2. 备份旧jar包(可选)
ssh root@1.15.149.240 "cp /root/zhibo/crmeb-admin.jar /root/zhibo/crmeb-admin.jar.backup"
# 3. 上传新jar包
scp Zhibo\zhibo-h\crmeb-admin\target\crmeb-admin.jar root@1.15.149.240:/root/zhibo/
# 4. 启动服务
ssh root@1.15.149.240 "cd /root/zhibo && docker-compose up -d crmeb-admin"
# 5. 查看日志确认启动成功
ssh root@1.15.149.240 "docker logs -f crmeb-admin"
看到类似 "Started CrmebAdminApplication" 的日志说明启动成功,按Ctrl+C退出日志查看。
第4步:验证修复
- 等待30秒让服务完全启动
- 打开浏览器,访问后台管理页面
- 按
Ctrl+Shift+Delete清除缓存 - 按
Ctrl+F5强制刷新页面 - 进入"主播管理"页面
- 查看主播列表,确认以下数据正确显示:
- 粉丝数(应该与APP端一致)
- 直播间数
- 被点赞数(应该与APP端一致)
- 本月直播次数
预期结果
修复后,后台管理页面应该显示:
| 主播信息 | 主播等级 | 粉丝数 | 直播间数 | 被点赞数 | 本月直播 | 认证时间 | 状态 |
|---|---|---|---|---|---|---|---|
| 主播A | 初级 | 5 | 2 | 150 | 1次 | 2025-01-01 | 正常 |
| 主播B | 中级 | 10 | 3 | 300 | 2次 | 2025-01-02 | 正常 |
注意:
- "被点赞数"列显示的是主播所有直播间的点赞数总和
- 数据应该与APP端的"主播中心"页面显示的数据一致
如果还是显示0
检查1:确认服务已重启
ssh root@1.15.149.240 "docker ps | grep crmeb-admin"
应该看到容器正在运行,且启动时间是最近的。
检查2:查看服务日志
ssh root@1.15.149.240 "docker logs crmeb-admin | tail -100"
查看是否有错误信息。
检查3:测试API直接返回
# 需要先登录获取token,然后:
curl -X GET "http://1.15.149.240:8080/api/admin/streamer/list?page=1&limit=10" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"
查看返回的JSON中是否包含 totalLikeCount 字段。
检查4:确认前端已更新
打开浏览器开发者工具(F12),查看Network标签:
- 刷新页面
- 找到
/api/admin/streamer/list请求 - 查看Response,确认返回的数据中包含
totalLikeCount字段
如果Response中有数据但页面不显示,说明是前端缓存问题,需要:
- 清除浏览器缓存
- 重新构建前端(如果前端也有修改)
前端重新构建(如果需要)
如果前端代码也有修改,需要重新构建前端:
cd Zhibo\admin
npm run build:prod
# 上传到服务器
scp -r dist/* root@1.15.149.240:/root/zhibo/admin/
联系支持
如果按照以上步骤操作后问题仍未解决,请提供以下信息:
- 数据库查询结果(第1步)
- 后端服务日志
- 浏览器Network标签中的API响应
- 浏览器Console中的错误信息
相关文件
- 详细修复指南:
后台主播统计数据修复指南.md - 诊断SQL脚本:
diagnose_streamer_stats_detail.sql - 部署脚本:
deploy-backend-streamer-fix.bat - API测试脚本:
test_streamer_api.bat