zhibo/立即修复后台统计数据.md

149 lines
4.5 KiB
Markdown
Raw Normal View History

2026-01-03 17:01:58 +08:00
# 立即修复后台统计数据显示问题
## 当前状态
- ✅ 后端代码已修改添加totalLikeCount统计
- ✅ 前端代码已修改(显示被点赞数)
- ❌ 后端服务未重新部署(导致修改未生效)
## 快速修复步骤
### 第1步验证数据库有数据可选
```bash
# 连接到数据库
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步重新编译后端在本地执行
```bash
cd Zhibo\zhibo-h
mvn clean package -DskipTests
```
等待编译完成确认生成了新的jar包
- 文件位置:`Zhibo\zhibo-h\crmeb-admin\target\crmeb-admin.jar`
### 第3步部署到服务器
#### 方法A使用自动脚本推荐
直接运行:
```bash
deploy-backend-streamer-fix.bat
```
#### 方法B手动部署
```bash
# 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确认服务已重启
```bash
ssh root@1.15.149.240 "docker ps | grep crmeb-admin"
```
应该看到容器正在运行,且启动时间是最近的。
### 检查2查看服务日志
```bash
ssh root@1.15.149.240 "docker logs crmeb-admin | tail -100"
```
查看是否有错误信息。
### 检查3测试API直接返回
```bash
# 需要先登录获取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. 重新构建前端(如果前端也有修改)
## 前端重新构建(如果需要)
如果前端代码也有修改,需要重新构建前端:
```bash
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`