From ddf29ff5644d09c896473059eac5a78170f7ef13 Mon Sep 17 00:00:00 2001 From: zk Date: Tue, 7 Apr 2026 21:31:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9B=B4=E6=96=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=AF=84=E4=BB=B7=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/resume_diagnose.py | 13 +++++++++++++ app/services/resume_diagnose_service.py | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/app/api/resume_diagnose.py b/app/api/resume_diagnose.py index 98489e7..8c795f1 100644 --- a/app/api/resume_diagnose.py +++ b/app/api/resume_diagnose.py @@ -74,3 +74,16 @@ async def resolve_issue(issue_id: int, param: ResolveParam): async for session in get_db(): service = ResumeDiagnoseService(session) await service.resolve_issue(issue_id, user_id, param.user_feedback) + + +class FeedbackParam(BaseModel): + user_feedback: int = Field(..., alias="userFeedback") + + +@router.put("/issue/{issue_id}/feedback", summary="用户评价诊断问题") +async def feedback_issue(issue_id: int, param: FeedbackParam): + """单独更新用户评价(1=符合 2=不符合)""" + user_id = RequestContext.user_id.get() + async for session in get_db(): + service = ResumeDiagnoseService(session) + await service.update_feedback(issue_id, user_id, param.user_feedback) diff --git a/app/services/resume_diagnose_service.py b/app/services/resume_diagnose_service.py index b6353ef..56df13f 100644 --- a/app/services/resume_diagnose_service.py +++ b/app/services/resume_diagnose_service.py @@ -150,6 +150,17 @@ class ResumeDiagnoseService: issue.user_feedback = user_feedback await self.session.flush() + async def update_feedback(self, issue_id: int, user_id: int, user_feedback: int) -> None: + """单独更新用户评价""" + result = await self.session.execute( + select(ResumeDiagnosisIssue).where( + ResumeDiagnosisIssue.id == issue_id, ResumeDiagnosisIssue.user_id == user_id)) + issue = result.scalar_one_or_none() + if issue is None: + raise ValueError("诊断问题不存在") + issue.user_feedback = user_feedback + await self.session.flush() + # ===== 工具函数 =====