From e5753c6a2d79f7b9d7062675adefa0ac4d0e98de Mon Sep 17 00:00:00 2001 From: zpc Date: Thu, 1 Jan 2026 17:46:34 +0800 Subject: [PATCH] =?UTF-8?q?cs120=5F8=20-=20=E8=AF=84=E4=BB=B7=E5=90=8E?= =?UTF-8?q?=E5=88=86=E6=95=B0=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/bug/1.0.0bug.md | 32 +++++++++++++++---- .../Controllers/SQController.cs | 9 +++--- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/docs/bug/1.0.0bug.md b/docs/bug/1.0.0bug.md index a7dde55..18f5f22 100644 --- a/docs/bug/1.0.0bug.md +++ b/docs/bug/1.0.0bug.md @@ -2,8 +2,8 @@ ## Bug统计 - **总数量**: 9个 -- **已修复**: 5个 ✅ -- **未修改**: 4个 +- **已修复**: 6个 ✅ +- **未修改**: 3个 - **分类**: 后端问题 6个,前端问题 2个,前后端问题 3个 --- @@ -273,7 +273,7 @@ --- ### cs120_8 - 评价后分数显示错误 -**状态**: 未修改 +**状态**: ✅ 已修复 **类型**: 后端 **优先级**: 中 @@ -285,9 +285,29 @@ **解决方案**: 评分后再次点开,应显示修正后的分值(重新计算的平均分)。 +**问题根本原因**: +在`GetEvaluateServices`接口中,当用户已经评价过某人时,返回的`user_play_level`和`user_skills_level`使用的是评价记录表(`SQReservationEvaluate`)中的分数,而不是被评价用户在用户表(`CoreCmsUser`)中更新后的平均分。 + +**修复内容**: +1. **GetEvaluateServices接口修复** (`server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs`) + - 修改第303-304行的逻辑 + - 当用户已评价时,`user_play_level`和`user_skills_level`改为使用`item.play_level`和`item.skills_level` + - 这样显示的是被评价用户的当前平均分,而不是评价记录中的分数 + +**修复逻辑**: +- `play_level`和`skills_level`: 保持显示用户给出的评分(用于回显) +- `user_play_level`和`user_skills_level`: 显示被评价用户的当前平均分(修正后的分值) + +**修复前后对比**: +- **修复前**: 评价后显示"我给他4分,他当前4分"(错误) +- **修复后**: 评价后显示"我给他4分,他当前4.2分"(正确的平均分) + +**修复时间**: 2025-01-01 +**测试状态**: 待测试 + **涉及接口**: -- `AddEvaluateServices` - 添加评价 -- 评价后需要重新计算用户的平均分 +- `GetEvaluateServices` - 获取预约评价信息 +- `AddEvaluateServices` - 添加评价(计算逻辑正确,无需修改) --- @@ -328,7 +348,7 @@ - ✅ cs120_5 - 签到后页面状态未刷新(已修复) - cs120_6 - 首页Banner未显示 - ✅ cs120_7 - 个人信息数值显示异常(已修复) -- cs120_8 - 评价后分数显示错误 +- ✅ cs120_8 - 评价后分数显示错误(已修复) ### 🟢 低优先级(优化项) - ✅ cs110_23 - 后台房间管理图标说明缺失(已修复) diff --git a/server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs b/server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs index 639fdbe..146a09f 100644 --- a/server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs +++ b/server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs @@ -297,11 +297,12 @@ public class SQController : ControllerBase if (e != null) { is_evaluate = true; - play_level = e.play_level; - skills_level = e.skills_level; + play_level = e.play_level; // 这是用户给出的评分 + skills_level = e.skills_level; // 这是用户给出的评分 now = e.created_at; - user_play_level = e.play_level; - user_skills_level = e.skills_level; + // 修复:显示被评价用户的当前平均分,而不是评价记录中的分数 + user_play_level = item.play_level; // 使用用户表中的当前平均分 + user_skills_level = item.skills_level; // 使用用户表中的当前平均分 } } if (userBlack.Count > 0)