2025-09-30 04:14:19 +00:00
|
|
|
|
from fastapi import APIRouter, Depends
|
|
|
|
|
|
from app.core.auth import get_current_user
|
|
|
|
|
|
from app.core.response import create_api_response
|
|
|
|
|
|
from app.services.async_transcription_service import AsyncTranscriptionService
|
2025-10-28 11:30:09 +00:00
|
|
|
|
from app.services.async_meeting_service import async_meeting_service
|
2025-09-30 04:14:19 +00:00
|
|
|
|
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
|
|
|
|
|
|
transcription_service = AsyncTranscriptionService()
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/tasks/transcription/{task_id}/status")
|
|
|
|
|
|
def get_transcription_task_status(task_id: str, current_user: dict = Depends(get_current_user)):
|
|
|
|
|
|
"""获取转录任务状态"""
|
|
|
|
|
|
try:
|
|
|
|
|
|
status_info = transcription_service.get_task_status(task_id)
|
|
|
|
|
|
if not status_info or status_info.get('status') == 'not_found':
|
|
|
|
|
|
return create_api_response(code="404", message="Transcription task not found")
|
|
|
|
|
|
return create_api_response(code="200", message="Task status retrieved", data=status_info)
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
|
return create_api_response(code="500", message=f"Failed to get task status: {str(e)}")
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/tasks/summaries/{task_id}/status")
|
|
|
|
|
|
def get_llm_task_status(task_id: str, current_user: dict = Depends(get_current_user)):
|
|
|
|
|
|
"""获取LLM总结任务状态(包括进度)"""
|
|
|
|
|
|
try:
|
2025-10-28 11:30:09 +00:00
|
|
|
|
status = async_meeting_service.get_task_status(task_id)
|
2025-09-30 04:14:19 +00:00
|
|
|
|
if status.get('status') == 'not_found':
|
|
|
|
|
|
return create_api_response(code="404", message="Task not found")
|
|
|
|
|
|
return create_api_response(code="200", message="Task status retrieved", data=status)
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
|
return create_api_response(code="500", message=f"Failed to get task status: {str(e)}")
|