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

149 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 立即修复后台统计数据显示问题
## 当前状态
- ✅ 后端代码已修改添加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`