learn progress
This commit is contained in:
@@ -100,7 +100,7 @@ def get_multiagents_dialog_list(user_id: str) -> List[Dict]:
|
||||
current_app.logger.error(f"获取MultiAgents对话列表异常: {str(e)}")
|
||||
return []
|
||||
|
||||
def load_learning_progress(user_id: str, material_id: str, chapter_name: str, lesson_name: str) -> Optional[Dict]:
|
||||
def load_learning_progress(user_id: str, material_id: str, chapter_name: str, lesson_name: str) -> Dict:
|
||||
"""
|
||||
加载用户学习进度
|
||||
|
||||
@@ -111,7 +111,10 @@ def load_learning_progress(user_id: str, material_id: str, chapter_name: str, le
|
||||
- lesson_name: 课时名
|
||||
|
||||
返回:
|
||||
- Optional[Dict]: 学习进度数据,如果不存在则返回None
|
||||
- Dict: 学习进度数据,包含以下字段:
|
||||
- exists: bool,表示学习记录是否存在
|
||||
- data: Dict,学习进度详细数据,包含chat_historys、scores、chapter_chain_now等字段
|
||||
- message: str,操作结果描述
|
||||
"""
|
||||
try:
|
||||
mongo = current_app.extensions["mongo"]
|
||||
@@ -126,11 +129,44 @@ def load_learning_progress(user_id: str, material_id: str, chapter_name: str, le
|
||||
# 转换ObjectId为字符串
|
||||
if "_id" in progress:
|
||||
progress["_id"] = str(progress["_id"])
|
||||
return progress
|
||||
return None
|
||||
return {
|
||||
"exists": True,
|
||||
"data": progress,
|
||||
"message": "学习记录加载成功"
|
||||
}
|
||||
# 返回默认值,确保即使没有学习记录也有完整的结构
|
||||
return {
|
||||
"exists": False,
|
||||
"data": {
|
||||
"user_id": user_id,
|
||||
"material_id": material_id,
|
||||
"chapter_name": chapter_name,
|
||||
"lesson_name": lesson_name,
|
||||
"chat_historys": [],
|
||||
"scores": [],
|
||||
"chapter_chain_now": None,
|
||||
"updated_at": datetime.now().isoformat()
|
||||
},
|
||||
"message": "未找到学习记录,返回默认值"
|
||||
}
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"加载学习进度失败: {str(e)}")
|
||||
return None
|
||||
error_msg = f"加载学习进度失败: {str(e)}"
|
||||
current_app.logger.error(error_msg)
|
||||
# 发生错误时返回默认结构,确保系统稳定性
|
||||
return {
|
||||
"exists": False,
|
||||
"data": {
|
||||
"user_id": user_id,
|
||||
"material_id": material_id,
|
||||
"chapter_name": chapter_name,
|
||||
"lesson_name": lesson_name,
|
||||
"chat_historys": [],
|
||||
"scores": [],
|
||||
"chapter_chain_now": None,
|
||||
"updated_at": datetime.now().isoformat()
|
||||
},
|
||||
"message": error_msg
|
||||
}
|
||||
|
||||
|
||||
def upload_learning_progress_to_cloud(progress: Dict) -> Dict:
|
||||
|
||||
Reference in New Issue
Block a user