zhibo/立即修复后台统计数据.md
2026-01-03 17:01:58 +08:00

4.5 KiB
Raw Blame History

立即修复后台统计数据显示问题

当前状态

  • 后端代码已修改添加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步验证修复

  1. 等待30秒让服务完全启动
  2. 打开浏览器,访问后台管理页面
  3. Ctrl+Shift+Delete 清除缓存
  4. Ctrl+F5 强制刷新页面
  5. 进入"主播管理"页面
  6. 查看主播列表,确认以下数据正确显示:
    • 粉丝数应该与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标签

  1. 刷新页面
  2. 找到 /api/admin/streamer/list 请求
  3. 查看Response确认返回的数据中包含 totalLikeCount 字段

如果Response中有数据但页面不显示说明是前端缓存问题需要

  1. 清除浏览器缓存
  2. 重新构建前端(如果前端也有修改)

前端重新构建(如果需要)

如果前端代码也有修改,需要重新构建前端:

cd Zhibo\admin
npm run build:prod

# 上传到服务器
scp -r dist/* root@1.15.149.240:/root/zhibo/admin/

联系支持

如果按照以上步骤操作后问题仍未解决,请提供以下信息:

  1. 数据库查询结果第1步
  2. 后端服务日志
  3. 浏览器Network标签中的API响应
  4. 浏览器Console中的错误信息

相关文件

  • 详细修复指南:后台主播统计数据修复指南.md
  • 诊断SQL脚本diagnose_streamer_stats_detail.sql
  • 部署脚本:deploy-backend-streamer-fix.bat
  • API测试脚本test_streamer_api.bat