Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 3.26 KB

README.md

File metadata and controls

57 lines (48 loc) · 3.26 KB

Тестовое задание

Текущее состояние

На текущий момент на страницу проверки цен попадают предложения, которые сверяются с текущей ценой, и попадают в блокировку(устанавливается флаг блокировки для построения отчета, текущая цена не меняется, предлагаемая цена устанавливается в соответствующий столбец) при значительном снижении цены.

Сценарий появления

  1. поставщик присылает прайс с корректными ценами - цены записываются в таблицу Price_MSC
  2. поставщик присылает файл с некорректными ценами, значительно выше исходных - цены записываются в таблицу Price_MSC
  3. поставщик присылает корректный файл с ценами из пункта 1 (или близкие к ним) - цена блокируется на запись в таблице Price_MSC
  • Имитация -
docker compose exec php bin/console test:pricer --clear=1
docker compose exec php bin/console test:pricer
docker compose exec php bin/console test:pricer --big=1
docker compose exec php bin/console test:pricer

В результате выполнения цены будут установлены высокие. Нормальные цены применены не будут - изменения цен будут блокированы.

Изменения

Необходимо изменить условия таким образом, чтобы цена сравнивалась не только с текущей, но и с предыдущей. Таким образом, имитация действий из пункта "сценарий появления" должна будет привести к тому, что нормальные цены будут установлены, а не заблокированы.

Техническая информация

  • Предыдущая цена - price_prev
  • Текущая цена - price
  • Следующая/предлагаемая цена - price_next
  • Флаг need_chek используется дл построения отчетов о необходимости проверки заблокированных цен
  • Для запуска используется компонент symfony messenger

Полезные команды

Запуск докера

docker compose up -d

Применение миграций

docker compose exec php bin/console doctrine:migration:migrate

Варианты запуска команды:

  • Парсинг нормальных цен
docker compose exec php bin/console test:pricer
  • Парсинг с увеличением цен
docker compose exec php bin/console test:pricer --big=1
  • Очистка таблицы цен
docker compose exec php bin/console test:pricer --clear=1