3.1 KiB
3.1 KiB
Обновления за 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) нет
- Клиент (
- Результат: данные в «Продажах» отображаются стабильнее — как при успешном ответе WB, так и при 429 за счёт кэш‑фолбэка. Расходы на рекламу корректно маппятся на даты продаж.
2) Реалтайм через SSE и отказ от опроса
- Коммит:
3a56092
(22:13) - Суть: добавлен механизм Server‑Sent Events (SSE) для реалтайм‑нотификаций, публикация событий из резолверов и отказ от периодического опроса в интерфейсе.
- Изменения:
- Бэкенд: публикация событий из GraphQL‑резолверов.
- Фронтенд: удалён polling в чатах, боковой панели, вкладках поставок и склада; подключена реактивная подгрузка через SSE.
- Результат: уменьшена нагрузка на сеть и сервер, данные обновляются в интерфейсе в реальном времени без циклических запросов.
Если потребуется — добавим более детализированный CHANGELOG и разнесём обновления по модулям.