fix(practice): 修复结束会话接口 DetachedInstanceError
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:
yuliang_guo
2026-02-04 14:56:36 +08:00
parent 8f2bd92ee0
commit b02f249166
2 changed files with 19 additions and 5 deletions

View File

@@ -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: