diff --git a/api/app/controllers/emotion_controller.py b/api/app/controllers/emotion_controller.py index 07e50774..b5cd7250 100644 --- a/api/app/controllers/emotion_controller.py +++ b/api/app/controllers/emotion_controller.py @@ -267,7 +267,7 @@ async def generate_emotion_suggestions( """生成个性化情绪建议(调用LLM并缓存) Args: - request: 包含 group_id、可选的 config_id 和 force_refresh + request: 包含 end_user_id db: 数据库会话 current_user: 当前用户 @@ -275,47 +275,22 @@ async def generate_emotion_suggestions( 新生成的个性化情绪建议响应 """ try: - # 验证 config_id(如果提供) - # 获取终端用户关联的配置 - config_id = request.config_id - if config_id is None: - # 如果没有提供 config_id,尝试获取用户关联的配置 - try: - from app.services.memory_agent_service import ( - get_end_user_connected_config, - ) - connected_config = get_end_user_connected_config(request.group_id, db) - config_id = connected_config.get("memory_config_id") - except ValueError as e: - return fail(BizCode.INVALID_PARAMETER, "无法获取用户关联的配置", str(e)) - else: - # 如果提供了 config_id,验证其有效性 - from app.services.memory_config_service import MemoryConfigService - try: - config_service = MemoryConfigService(db) - config = config_service.get_config_by_id(config_id) - if not config: - return fail(BizCode.INVALID_PARAMETER, "配置ID无效", f"配置 {config_id} 不存在") - except Exception as e: - return fail(BizCode.INVALID_PARAMETER, "配置ID验证失败", str(e)) - api_logger.info( f"用户 {current_user.username} 请求生成个性化情绪建议", extra={ - "group_id": request.group_id, - "config_id": config_id + "end_user_id": request.end_user_id } ) # 调用服务层生成建议 data = await emotion_service.generate_emotion_suggestions( - end_user_id=request.group_id, + end_user_id=request.end_user_id, db=db ) # 保存到缓存 await emotion_service.save_suggestions_cache( - end_user_id=request.group_id, + end_user_id=request.end_user_id, suggestions_data=data, db=db, expires_hours=24 @@ -324,7 +299,7 @@ async def generate_emotion_suggestions( api_logger.info( "个性化建议生成成功", extra={ - "group_id": request.group_id, + "end_user_id": request.end_user_id, "suggestions_count": len(data.get("suggestions", [])) } ) @@ -334,7 +309,7 @@ async def generate_emotion_suggestions( except Exception as e: api_logger.error( f"生成个性化建议失败: {str(e)}", - extra={"group_id": request.group_id}, + extra={"end_user_id": request.end_user_id}, exc_info=True ) raise HTTPException( diff --git a/api/app/schemas/emotion_schema.py b/api/app/schemas/emotion_schema.py index 37e9a2e3..5175fed1 100644 --- a/api/app/schemas/emotion_schema.py +++ b/api/app/schemas/emotion_schema.py @@ -34,5 +34,4 @@ class EmotionSuggestionsRequest(BaseModel): class EmotionGenerateSuggestionsRequest(BaseModel): """生成个性化情绪建议请求""" - group_id: str = Field(..., description="组ID") - config_id: Optional[int] = Field(None, description="配置ID(用于指定LLM模型)") + end_user_id: str = Field(..., description="终端用户ID")