Files
test_ea/README.md
2026-02-15 01:34:17 +07:00

58 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Тестовое задание
**На хост машине**
```bash
make help
make build
make install
make run # заполнит базу и запустит тесты
```
Необходимо задать переменные окружения
```dotenv
WB_URL="url"
WB_API_KEY="123"
```
## Синхронизация
Инкрементальная
```php
Schedule::command('sync:all')->dailyAt('00:10');
```
Для ORDERS, SALES, INCOMES синхронизация берёт данные по завершённым дням
Первый запуск: берутся все данные с даты 2 года назад до вчерашнего дня
Последующие запуски: берётся только следующий завершённый день после последней успешной записи (date_to)
Для STOCKS всегда берётся только текущий день, так как API поддерживает только актуальные данные
Ручное управление
```bash
make sh # для входа в контейнер
```
```bash
Available commands for the "sync" namespace:
php artisan sync:all Command description
php artisan sync:incomes Sync incomes from WB API
php artisan sync:orders Sync orders from API
php artisan sync:sales Sync sales from WB API
php artisan sync:stocks Sync stocks from WB test API
```
Расширение
[Конфиг](laravel/config/wb-sync.php)
### Комментарий:
Апи может присылать полные дубли строк, думал делать вставку через upsert + уникальный ключ
например по хешу основных строк, но выбрал более простой вариант с обычным заполнением