Изменения в UX (Step1Policy):
✅ Автоматическая маска ввода E1000-302538524
- Тире вставляется автоматически
- Не нужно вводить вручную
✅ Расширенная автозамена кириллицы:
- А→A, а→A, С→C, с→C, Е→E, е→E и т.д.
- Поддержка строчных и заглавных
✅ Автоматический uppercase
- Все буквы автоматически заглавные
✅ Логика при ненайденном полисе:
- НЕ переходит на следующий шаг
- Показывает поле загрузки скана прямо на месте
- Кнопка "Продолжить со сканом"
- Поддержка изображений и PDF
✅ Обработка paste:
- Корректная обработка вставки текста
- Применяются все правила форматирования
Backend (policy.py):
✅ Убран вывод holder_name (для продакшна)
- API не возвращает персональные данные
- Только found: true/false
Формат полиса:
Ввод: k78486489849494 или К7848-6489849494
Результат: K7848-648984949
Проблема: Backend пытался подключиться к удаленной БД turistpr_erv
Решение: Обновлены креды на локальную БД ci20465_erv
Изменения:
- MySQL Host: localhost (было: 141.8.194.131)
- MySQL DB: ci20465_erv (было: turistpr_erv)
- MySQL User: ci20465_erv (было: root)
- MySQL Password: c7vOXbmG (было: пустой)
- MySQL Table: lexrpiority (было: erv_vouchers в коде)
Результат:
✅ MySQL Policy DB подключена успешно
✅ API /api/v1/policy/check работает
✅ Валидация полисов работает (33963 полисов в БД)
Тестирование:
- E1000-302372730 → found: true ✅
- E9999-999999999 → found: false ✅
Изменения в форме (Шаг 1):
- Полис в одну строку: E1000-302538524 (было: отдельно серия и номер)
- Email теперь обязателен (было: опционально)
- Убран ИНН (было: опционально)
- Автозамена кириллицы на латиницу (Е→E, О→O и т.д.)
- Валидация формата: буква + 4 цифры + тире + 9 цифр
Изменения в Backend API:
- PolicyCheckRequest: voucher + email (убран inn)
- policy_service: упрощен запрос к MySQL
- Добавлено подключение MySQL в lifespan
Изменения в ClaimForm:
- FormData обновлен: voucher вместо policyNumber/policySeries
- Убрано поле inn из всей логики
Статус: Frontend работает, MySQL требует настройки доступа
Изменения в UX:
- Шаг 1: Проверка полиса (было: телефон + SMS)
- Шаг 2: Детали происшествия (без изменений)
- Шаг 3: Телефон + SMS + Выплата (было: только выплата)
Обновленные компоненты:
- Удален: Step1Phone.tsx
- Создан: Step1Policy.tsx - проверка полиса через API
- Обновлен: Step3Payment.tsx - добавлена SMS верификация
- Обновлен: ClaimForm.tsx - новая структура шагов
Логика: сначала проверяем полис, потом детали, в конце верификация телефона и выплата
- Исправлены TypeScript ошибки в Step3Payment.tsx (типизация, неиспользуемые импорты)
- Добавлены недостающие зависимости: aiomysql, pymysql, python-multipart
- Обновлен requirements.txt с актуальными версиями
- Добавлены новые API endpoints: policy check, file upload
- Добавлен policy_service для работы с MySQL
- Все сервисы успешно запущены и работают
- Обновлен SESSION_LOG с документацией процесса