Дилеры под контролем — автоматически отслеживаем цену розничной продажи

NDA! Этот проект защищён соглашением о неразглашении. Мы не в праве предоставить детали технологии и название бренда/организации. Но можем описать принцип и обезличенный результат работы.

Естественно, что проект защищен соглашением, закрывающим подробности и заказчика проекта. Заказчик-производитель не планировал афишировать информацию о проводимом контроле.

Проблемы производителя

Реализация продукции по согласованным ценам — важная задача для Заказчика проекта. Необходим контроль и понимание стоимости реализации продукции конечным покупателям.

  • требуется ежедневный контроль за состоянием цен;
  • количество дилеров для контроля: 23;
  • история анализа должна сохраняться за период 1 год;
  • в случае выявления несоответствия нижней границы цены, ответственный сотрудник заказчика должен получить автоматическое уведомление;
  • уведомление должно содержать ссылку на страницу с заниженной ценой, указание минимальной и установленной дилером цен, разницу цен;
  • система должна поддерживать загрузку минимальных рекомендованных Заказчиком цен из 1С.

Виртуальная платформа должна быть опубликована в Германии.

Система контроля

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

Этот факт позволил сократить время на разработку модулей сбора данных, а также, снизить стоимость разработки из-за ухода от микросервисной архитектуры.

Было принято решение в этом проекте использовать связывание различных программных модулей через базу данных:

  • подход снижает стоимость разработки и время на создание модулей;
  • все модули работают на одном сервере без сложных логических связей и зависимостей;
  • в качестве базы данных используется MySQL;
  • в качестве языка для модулей сбора данных —  Java
  • веб-интерфейс, система обработки и анализа данных, система уведомления написаны на PHP;
  • виртуальный сервер построен на базе Linux Debian.

Разработка велась одновременно и для сбора данных и для их обработки. После того, как структура хранения была спроектирована и утверждена, каждая из групп разработки приступила к созданию кода.

После того, как все программные компоненты были готовы, решено было запустить систему в недельную опытную эксплуатацию для контроля и проверки цен.

Нагрузка на сервер в момент сбора и анализа данных позволила скорректировать параметры виртуальной платформы и немного снизить стоимость аренды виртуального сервера за счёт снижения объёма оперативной памяти и отказа от 2 ядер в пользу одного.

Повторный сбор показателей 3-х дневного периода работы сервера в новой конфигурации показали, что запаса надёжности и ресурсов достаточно для бесперебойной работы программного комплекса.

Проект был документирован, созданы резервные копии программных модулей и базы данных и система поступила в промышленную эксплуатацию.

На данный момент она функционирует уже 2 года 8 месяцев и помогла выявить недобросовестных дилеров. Количество дилеров за время работы выросло с 23 до 47.