from fastapi import APIRouter, Depends, Query from sqlalchemy.orm import Session from app.core.response import ApiResponse, ok from app.core.user_context import UserContext, get_user_context from app.db.session import get_db from app.schemas.knowledge import KnowledgeSearchResponse from app.services.knowledge_service import KnowledgeService router = APIRouter() @router.get("/search", response_model=ApiResponse[KnowledgeSearchResponse]) def search_knowledge( _: UserContext = Depends(get_user_context), db: Session = Depends(get_db), department_id: int = Query(...), training_type: str = Query(...), q: str = Query(default=""), ): """知识检索:按科室、训练类别和关键词检索评分参考指南。""" keywords = [item.strip() for item in q.split(",") if item.strip()] result = KnowledgeService(db).search_guidelines(department_id, training_type, keywords) return ok(KnowledgeSearchResponse(**result))