73 lines
3.8 KiB
Markdown
73 lines
3.8 KiB
Markdown
|
|
# Лог сессии разработки - 19 ноября 2025
|
|||
|
|
|
|||
|
|
## Проблема
|
|||
|
|
После верификации телефона не отображается список черновиков, хотя в базе данных есть заявки с `unified_id = 'usr_90599ff2-ac79-4236-b950-0df85395096c'`.
|
|||
|
|
|
|||
|
|
## Что было сделано
|
|||
|
|
|
|||
|
|
### 1. Добавлено логирование в frontend
|
|||
|
|
- В `ClaimForm.tsx` добавлены логи для отслеживания:
|
|||
|
|
- Вызов `onNext` с `unified_id`
|
|||
|
|
- Проверка условий для показа черновиков
|
|||
|
|
- Запрос к API `/api/v1/claims/drafts/list`
|
|||
|
|
- Ответ от API
|
|||
|
|
|
|||
|
|
### 2. Добавлено логирование в backend
|
|||
|
|
- В `claims.py` добавлены логи для отладки запроса черновиков:
|
|||
|
|
- Тестовый COUNT запрос для проверки наличия данных в БД
|
|||
|
|
- Количество найденных строк
|
|||
|
|
- Детали первой строки
|
|||
|
|
|
|||
|
|
### 3. Проверка данных в БД
|
|||
|
|
- Проверено напрямую через psql: есть 17 заявок для `unified_id = 'usr_90599ff2-ac79-4236-b950-0df85395096c'`
|
|||
|
|
- Из них 3 со статусом `draft`
|
|||
|
|
- Все заявки с каналом `telegram` (не `web_form`)
|
|||
|
|
|
|||
|
|
### 4. Проблема
|
|||
|
|
- API `/api/v1/claims/drafts/list?unified_id=...` возвращает `{"success":true,"count":0,"drafts":[]}`
|
|||
|
|
- Логи в backend не появляются (logger.info не выводится в консоль)
|
|||
|
|
- SQL запрос напрямую в psql работает и возвращает данные
|
|||
|
|
|
|||
|
|
## Текущее состояние
|
|||
|
|
|
|||
|
|
### Frontend
|
|||
|
|
- `unified_id` приходит от n8n и отображается в консоли браузера
|
|||
|
|
- `unified_id` передается в `onNext` callback
|
|||
|
|
- `checkDrafts` вызывается с правильным `unified_id`
|
|||
|
|
- Но API возвращает 0 черновиков
|
|||
|
|
|
|||
|
|
### Backend
|
|||
|
|
- Endpoint `/api/v1/claims/drafts/list` существует
|
|||
|
|
- Запрос к БД должен работать (проверено через psql)
|
|||
|
|
- Но логи не появляются, что странно
|
|||
|
|
|
|||
|
|
## Что нужно проверить дальше
|
|||
|
|
|
|||
|
|
1. **Почему логи не появляются?**
|
|||
|
|
- Проверить настройки логирования в FastAPI
|
|||
|
|
- Возможно, нужно использовать `print()` вместо `logger.info()`
|
|||
|
|
|
|||
|
|
2. **Почему запрос возвращает 0 результатов?**
|
|||
|
|
- Проверить, что `asyncpg` правильно выполняет запрос
|
|||
|
|
- Возможно, проблема с параметрами запроса
|
|||
|
|
- Проверить, что `unified_id` правильно передается в SQL
|
|||
|
|
|
|||
|
|
3. **Проверить в браузере:**
|
|||
|
|
- Открыть консоль разработчика
|
|||
|
|
- Проверить логи `🔥 onNext вызван с unified_id:`
|
|||
|
|
- Проверить логи `🔍 Запрос черновиков:`
|
|||
|
|
- Проверить ответ API `🔍 Ответ API черновиков:`
|
|||
|
|
|
|||
|
|
## Файлы изменены
|
|||
|
|
|
|||
|
|
1. `frontend/src/pages/ClaimForm.tsx` - добавлено логирование
|
|||
|
|
2. `backend/app/api/claims.py` - добавлено логирование и тестовые запросы
|
|||
|
|
|
|||
|
|
## Следующие шаги
|
|||
|
|
|
|||
|
|
1. Проверить логи в браузере после перезагрузки
|
|||
|
|
2. Проверить, что API действительно вызывается
|
|||
|
|
3. Если API вызывается, но возвращает 0 - проверить SQL запрос в backend
|
|||
|
|
4. Если SQL работает, но asyncpg не возвращает данные - проверить формат параметров
|
|||
|
|
|