27 lines
3.1 KiB
Markdown
27 lines
3.1 KiB
Markdown
# Обновления за 11.08.2025
|
||
|
||
Ниже кратко описаны изменения из двух последних коммитов за сегодня.
|
||
|
||
## 1) Надёжность статистики WB и фолбэк кэша
|
||
- Коммит: `8ba8fc1` (22:30)
|
||
- Суть: устранили ситуацию, когда на фронте отображалось «Нет данных», добавили корректную обработку дат рекламы и фолбэк из кэша при ограничениях WB API (429).
|
||
- Изменения:
|
||
- Клиент (`src/components/seller-statistics/sales-tab.tsx`):
|
||
- При успешном `refetch` сразу применяем полученные данные (`applyData`), не дожидаясь обновления состояния Apollo, чтобы исключить «пустое» состояние.
|
||
- Сервис (`src/services/wildberries-service.ts`):
|
||
- Нормализуем даты дневной статистики рекламы до формата `YYYY-MM-DD`, чтобы они сопоставлялись с датами продаж/заказов и корретно проходили фильтрацию по диапазону.
|
||
- Резолвер (`src/graphql/resolvers.ts`):
|
||
- Если при ошибке WB (например, 429) нет `productsData` в кэше, но есть `advertisingData`, формируем минимальный набор статистики по датам на основе кэша рекламы (затраты, заказы, выручка) — чтобы хоть какие-то данные отображались.
|
||
- Результат: данные в «Продажах» отображаются стабильнее — как при успешном ответе WB, так и при 429 за счёт кэш‑фолбэка. Расходы на рекламу корректно маппятся на даты продаж.
|
||
|
||
## 2) Реалтайм через SSE и отказ от опроса
|
||
- Коммит: `3a56092` (22:13)
|
||
- Суть: добавлен механизм Server‑Sent Events (SSE) для реалтайм‑нотификаций, публикация событий из резолверов и отказ от периодического опроса в интерфейсе.
|
||
- Изменения:
|
||
- Бэкенд: публикация событий из GraphQL‑резолверов.
|
||
- Фронтенд: удалён polling в чатах, боковой панели, вкладках поставок и склада; подключена реактивная подгрузка через SSE.
|
||
- Результат: уменьшена нагрузка на сеть и сервер, данные обновляются в интерфейсе в реальном времени без циклических запросов.
|
||
|
||
---
|
||
Если потребуется — добавим более детализированный CHANGELOG и разнесём обновления по модулям.
|