На текущий момент на страницу проверки цен попадают предложения, которые сверяются с текущей ценой, и попадают в блокировку(устанавливается флаг блокировки для построения отчета, текущая цена не меняется, предлагаемая цена устанавливается в соответствующий столбец) при значительном снижении цены.
- поставщик присылает прайс с корректными ценами - цены записываются в таблицу Price_MSC
- поставщик присылает файл с некорректными ценами, значительно выше исходных - цены записываются в таблицу Price_MSC
- поставщик присылает корректный файл с ценами из пункта 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