用user_id save
This commit is contained in:
@@ -8,12 +8,11 @@ from urllib.parse import urlparse
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
|
|
||||||
def save_learning_progress(user_uuid: str, chatmanager, user_id: str) -> bool:
|
def save_learning_progress(chatmanager, user_id: str) -> bool:
|
||||||
"""
|
"""
|
||||||
保存用户学习进度到MongoDB
|
保存用户学习进度到MongoDB
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
- user_uuid: 用户UUID
|
|
||||||
- chatmanager: ChatManager实例,包含学习进度数据
|
- chatmanager: ChatManager实例,包含学习进度数据
|
||||||
- user_id: 用户ID
|
- user_id: 用户ID
|
||||||
|
|
||||||
@@ -29,7 +28,6 @@ def save_learning_progress(user_uuid: str, chatmanager, user_id: str) -> bool:
|
|||||||
his_data = dialog_list['data']
|
his_data = dialog_list['data']
|
||||||
# 构建学习进度数据
|
# 构建学习进度数据
|
||||||
progress_data = {
|
progress_data = {
|
||||||
"user_uuid": user_uuid,
|
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
"material_id": chatmanager.material_id,
|
"material_id": chatmanager.material_id,
|
||||||
"chapter_name": chatmanager.chapter_name,
|
"chapter_name": chatmanager.chapter_name,
|
||||||
@@ -44,7 +42,7 @@ def save_learning_progress(user_uuid: str, chatmanager, user_id: str) -> bool:
|
|||||||
# 保存到MongoDB,使用upsert操作(如果存在则更新,不存在则插入)
|
# 保存到MongoDB,使用upsert操作(如果存在则更新,不存在则插入)
|
||||||
mongo.db.learning_progress.update_one(
|
mongo.db.learning_progress.update_one(
|
||||||
{
|
{
|
||||||
"user_uuid": user_uuid,
|
"user_id": user_id,
|
||||||
"material_id": chatmanager.material_id,
|
"material_id": chatmanager.material_id,
|
||||||
"chapter_name": chatmanager.chapter_name,
|
"chapter_name": chatmanager.chapter_name,
|
||||||
"lesson_name": chatmanager.lesson_name
|
"lesson_name": chatmanager.lesson_name
|
||||||
@@ -53,7 +51,7 @@ def save_learning_progress(user_uuid: str, chatmanager, user_id: str) -> bool:
|
|||||||
upsert=True
|
upsert=True
|
||||||
)
|
)
|
||||||
|
|
||||||
current_app.logger.info(f"学习进度保存成功: user_uuid={user_uuid}, lesson={chatmanager.lesson_name}")
|
current_app.logger.info(f"学习进度保存成功: user_id={user_id}, lesson={chatmanager.lesson_name}")
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
current_app.logger.error(f"保存学习进度失败: {str(e)}")
|
current_app.logger.error(f"保存学习进度失败: {str(e)}")
|
||||||
@@ -102,12 +100,12 @@ def get_multiagents_dialog_list(user_id: str) -> List[Dict]:
|
|||||||
current_app.logger.error(f"获取MultiAgents对话列表异常: {str(e)}")
|
current_app.logger.error(f"获取MultiAgents对话列表异常: {str(e)}")
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def load_learning_progress(user_uuid: 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) -> Optional[Dict]:
|
||||||
"""
|
"""
|
||||||
加载用户学习进度
|
加载用户学习进度
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
- user_uuid: 用户UUID
|
- user_id: 用户ID
|
||||||
- material_id: 课程ID
|
- material_id: 课程ID
|
||||||
- chapter_name: 章节名
|
- chapter_name: 章节名
|
||||||
- lesson_name: 课时名
|
- lesson_name: 课时名
|
||||||
@@ -118,7 +116,7 @@ def load_learning_progress(user_uuid: str, material_id: str, chapter_name: str,
|
|||||||
try:
|
try:
|
||||||
mongo = current_app.extensions["mongo"]
|
mongo = current_app.extensions["mongo"]
|
||||||
progress = mongo.db.learning_progress.find_one({
|
progress = mongo.db.learning_progress.find_one({
|
||||||
"user_uuid": user_uuid,
|
"user_id": user_id,
|
||||||
"material_id": material_id,
|
"material_id": material_id,
|
||||||
"chapter_name": chapter_name,
|
"chapter_name": chapter_name,
|
||||||
"lesson_name": lesson_name
|
"lesson_name": lesson_name
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class AgentNamespace(Namespace):
|
|||||||
chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
|
chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
|
||||||
|
|
||||||
if not chatmanager.restart:# 尝试加载用户学习进度
|
if not chatmanager.restart:# 尝试加载用户学习进度
|
||||||
progress = load_learning_progress(user_uuid, course_id, chapter_name, lesson_name)
|
progress = load_learning_progress(user_id, course_id, chapter_name, lesson_name)
|
||||||
need_skip_chapters = 0
|
need_skip_chapters = 0
|
||||||
|
|
||||||
if progress:
|
if progress:
|
||||||
@@ -243,8 +243,8 @@ class AgentNamespace(Namespace):
|
|||||||
# 调用保存学习进度功能
|
# 调用保存学习进度功能
|
||||||
chatmanager = user_uuid2chatmanager.get(uuid)
|
chatmanager = user_uuid2chatmanager.get(uuid)
|
||||||
if chatmanager:
|
if chatmanager:
|
||||||
save_result = save_learning_progress(uuid, chatmanager, user_id)
|
save_result = save_learning_progress(chatmanager, user_id)
|
||||||
print(f"保存学习进度结果: {save_result}, user_uuid={uuid}")
|
print(f"保存学习进度结果: {save_result}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"保存学习进度时发生异常: {str(e)}")
|
print(f"保存学习进度时发生异常: {str(e)}")
|
||||||
|
|||||||
Reference in New Issue
Block a user