Создание поиска по точному совпадению
Поиск по артикулу
1. Артикул передается через GET – переменную.
2. Очищаем артикул от лишних знаков и переводим в верхний регистр.
3. Ищем в нашем списке товаров те товары у которых артикул точно совпадает с переданным.
4. Определяем включена ли на сайте возможность поиска по emex. Если нет, то переходим к п. 8. К п. 8 также переходим если пользователь не авторизован.
5. Проверяем количество поисковых запросов за сутки для пользователя. Если количество превышает константу С, то отключаем пользователя от поиска кроссов через API Emex (переходим к п.8).
6. Проверяем, есть ли в таблице emex артикулов (emex articles) искомый артикул и информацию по нему нужно обновить (status = need_update).
7. Получение данных с emex:
● В таблице emex артикулов добавляем/обновляем искомый артикул с источником равным emex.
● Получаем от emex массив кроссов по искомому артикулу. Доступ к API emex осуществляется по логину и паролю, плюс с фиксированного IP адреса, поэтому к заданию прилагается пример ответа на запрос с detailNum = 334323.
● Определяем идентификатор бренда brand_id в нашей системе посредством поиска артикула кросса в таблице emex_brand_logos (таблица связи между нашими брендами и логотипами брендов в emex)
● Для найденной пары берем информацию из основой таблицы товаров (products).
● Добавляем информацию по кроссам с emex в нашу базу (таблица emex_crosses).
● Обновляем в таблице emex articles искомому артикулу status = updated
8. Если поиск через emex запрещен:
● Получаем добавленные кроссы из таблицы emex_crosses.
9. Результирующий набор товаров сортируется по цене
API Emex: http://wsdoc.emex.ru/FindDetailAdv3.html
Исполнителю будет предоставлена схема структуры таблиц, описанных в задании