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