fix(practice): 修复结束会话接口 DetachedInstanceError
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- 将 ORM 对象转换为 PracticeSessionResponse 后再返回 - 添加 COZE_WORKSPACE_ID 配置到 .env.ex Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -734,14 +734,27 @@ async def end_practice_session(
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# 将 ORM 对象转换为响应格式,避免 DetachedInstanceError
|
||||
session_data = PracticeSessionResponse(
|
||||
id=session.id,
|
||||
session_id=session.session_id,
|
||||
user_id=session.user_id,
|
||||
scene_id=session.scene_id,
|
||||
scene_name=session.scene_name or "",
|
||||
scene_type=session.scene_type,
|
||||
conversation_id=session.conversation_id,
|
||||
start_time=session.start_time,
|
||||
end_time=session.end_time,
|
||||
duration_seconds=session.duration_seconds or 0,
|
||||
turns=session.turns or 0,
|
||||
status=session.status,
|
||||
created_at=session.created_at
|
||||
)
|
||||
|
||||
return ResponseModel(
|
||||
code=200,
|
||||
message="会话已结束",
|
||||
data={
|
||||
"session": session,
|
||||
"exp_result": exp_result,
|
||||
"new_badges": new_badges
|
||||
}
|
||||
data=session_data
|
||||
)
|
||||
|
||||
except HTTPException:
|
||||
|
||||
Reference in New Issue
Block a user