Рефакторинг выгрузки товаров через API Вконтакте

Цена договорная
23 сентября 2020, 12:14 • 5 откликов • 27 просмотров
Рефакторинг выгрузки товаров через API Вконтакте

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

Большим плюсом будет обратная связь по моментам самой выгрузки (ее стабильности, скорости).

1. Доработать логику групп, чтобы была возможность добавлять несколько групп. (на данный момент в коде защита логику публикации только в две группы).
Также, есть смысл сделать логику плюс минус универсальную, чтобы мы в дальнейшем могли задать группу и условие, при котором она уходит на выгрузку предлагаю что нибудь на подобие такого массива:
[ID_группы => isSubUrban($arg)];

Где isSubUrban это функция которая содержит логику по определенными требованиям.

Будут разные условия, как отдельные функции в которые мы можем передавать объект и уже проверять подходит ли он по заданному условию.

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

Соответственно, у каждой группы есть логика добавления в товар и альбом, это нужно учесть и не дублировать код как сейчас. Должен быть один метод создания и один метод загрузки в альбом в которой мы уже подставляем нужный объект и группу в которую его отправить.

Я вижу это так, что перебираем объекты, проходясь по массиву объектов и массиву групп и условий, если объект подходит отправляем его в нужную группу и альбом.

4. В базе данных, скорее всего нужна будет отдельная таблица, для сохранения связи объекта и групп.

5. Так же нужно сделать, чтобы новостройки выгружались не только на город Вологда но и на город Сокол.

6. Тестировать логику выгрузки нужно на своих группах.