🚀 MVP: FastAPI + React форма с SMS верификацией
✅ Инфраструктура: PostgreSQL, Redis, RabbitMQ, S3 ✅ Backend: SMS сервис + API endpoints ✅ Frontend: React форма (3 шага) + SMS верификация
This commit is contained in:
51
backend/app/api/claims.py
Normal file
51
backend/app/api/claims.py
Normal file
@@ -0,0 +1,51 @@
|
||||
"""
|
||||
Claims API Routes - Обработка заявок
|
||||
"""
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from .models import ClaimCreateRequest, ClaimResponse
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
router = APIRouter(prefix="/api/v1/claims", tags=["Claims"])
|
||||
|
||||
|
||||
@router.post("/create", response_model=ClaimResponse)
|
||||
async def create_claim(claim: ClaimCreateRequest):
|
||||
"""
|
||||
Создать новую заявку
|
||||
|
||||
Принимает данные формы и создает заявку в системе
|
||||
"""
|
||||
try:
|
||||
# Генерируем ID и номер заявки
|
||||
claim_id = str(uuid.uuid4())
|
||||
claim_number = f"ERV-{datetime.now().strftime('%Y%m%d')}-{claim_id[:8].upper()}"
|
||||
|
||||
# TODO: Сохранить в PostgreSQL
|
||||
# TODO: Отправить в очередь RabbitMQ для обработки
|
||||
# TODO: Интеграция с CRM
|
||||
|
||||
return ClaimResponse(
|
||||
success=True,
|
||||
claim_id=claim_id,
|
||||
claim_number=claim_number,
|
||||
message=f"Заявка {claim_number} успешно создана"
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
detail=f"Ошибка при создании заявки: {str(e)}"
|
||||
)
|
||||
|
||||
|
||||
@router.get("/{claim_id}")
|
||||
async def get_claim(claim_id: str):
|
||||
"""Получить информацию о заявке по ID"""
|
||||
# TODO: Получить из БД
|
||||
return {
|
||||
"claim_id": claim_id,
|
||||
"status": "processing",
|
||||
"message": "Заявка в обработке"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user