diff --git a/api/app/controllers/emotion_controller.py b/api/app/controllers/emotion_controller.py index b5cd7250..170f930f 100644 --- a/api/app/controllers/emotion_controller.py +++ b/api/app/controllers/emotion_controller.py @@ -24,7 +24,7 @@ from app.schemas.emotion_schema import ( ) from app.schemas.response_schema import ApiResponse from app.services.emotion_analytics_service import EmotionAnalyticsService -from fastapi import APIRouter, Depends, HTTPException, status +from fastapi import APIRouter, Depends, HTTPException, status,Header from sqlalchemy.orm import Session # 获取API专用日志器 @@ -45,6 +45,7 @@ emotion_service = EmotionAnalyticsService() @router.post("/tags", response_model=ApiResponse) async def get_emotion_tags( request: EmotionTagsRequest, + language_type: str = Header(default="zh", alias="X-Language-Type"), current_user: User = Depends(get_current_user), ): @@ -96,6 +97,7 @@ async def get_emotion_tags( @router.post("/wordcloud", response_model=ApiResponse) async def get_emotion_wordcloud( request: EmotionWordcloudRequest, + language_type: str = Header(default="zh", alias="X-Language-Type"), current_user: User = Depends(get_current_user), ): @@ -142,6 +144,7 @@ async def get_emotion_wordcloud( @router.post("/health", response_model=ApiResponse) async def get_emotion_health( request: EmotionHealthRequest, + language_type: str = Header(default="zh", alias="X-Language-Type"), current_user: User = Depends(get_current_user), ): @@ -196,6 +199,7 @@ async def get_emotion_health( @router.post("/suggestions", response_model=ApiResponse) async def get_emotion_suggestions( request: EmotionSuggestionsRequest, + language_type: str = Header(default="zh", alias="X-Language-Type"), db: Session = Depends(get_db), current_user: User = Depends(get_current_user), ): @@ -261,6 +265,7 @@ async def get_emotion_suggestions( @router.post("/generate_suggestions", response_model=ApiResponse) async def generate_emotion_suggestions( request: EmotionGenerateSuggestionsRequest, + language_type: str = Header(default="zh", alias="X-Language-Type"), db: Session = Depends(get_db), current_user: User = Depends(get_current_user), ): diff --git a/api/app/schemas/emotion_schema.py b/api/app/schemas/emotion_schema.py index a0253871..c48fbd41 100644 --- a/api/app/schemas/emotion_schema.py +++ b/api/app/schemas/emotion_schema.py @@ -3,7 +3,6 @@ from typing import Optional from pydantic import BaseModel, Field -from fastapi import Header class EmotionTagsRequest(BaseModel): """获取情绪标签统计请求""" group_id: str = Field(..., description="组ID") @@ -11,7 +10,6 @@ class EmotionTagsRequest(BaseModel): start_date: Optional[str] = Field(None, description="开始日期(ISO格式,如:2024-01-01)") end_date: Optional[str] = Field(None, description="结束日期(ISO格式,如:2024-12-31)") limit: int = Field(10, ge=1, le=100, description="返回数量限制") - language_type: str = Header(default="zh", alias="X-Language-Type") class EmotionWordcloudRequest(BaseModel): @@ -19,14 +17,13 @@ class EmotionWordcloudRequest(BaseModel): group_id: str = Field(..., description="组ID") emotion_type: Optional[str] = Field(None, description="情绪类型过滤(joy/sadness/anger/fear/surprise/neutral)") limit: int = Field(50, ge=1, le=200, description="返回词语数量") - language_type: str = Header(default="zh", alias="X-Language-Type") class EmotionHealthRequest(BaseModel): """获取情绪健康指数请求""" group_id: str = Field(..., description="组ID") time_range: str = Field("30d", description="时间范围(7d/30d/90d)") - language_type: str = Header(default="zh", alias="X-Language-Type") + @@ -34,10 +31,8 @@ class EmotionSuggestionsRequest(BaseModel): """获取个性化情绪建议请求""" group_id: str = Field(..., description="组ID") config_id: Optional[int] = Field(None, description="配置ID(用于指定LLM模型)") - language_type: str = Header(default="zh", alias="X-Language-Type") class EmotionGenerateSuggestionsRequest(BaseModel): """生成个性化情绪建议请求""" end_user_id: str = Field(..., description="终端用户ID") - language_type: str = Header(default="zh", alias="X-Language-Type")