подписка
Подписаться
Главная Форум Ведение бизнеса Автоматизация

Как правильно сделать синхронизацию дублирующихся товаровов?

Подписка на RSS
qualified
26/05/2011
меня два поставщика синхрон делается по XML-файлу. Специально созданный скрипт обращается к файлу XML, который есть у поставщиков и два раза в день производит синхронизацию моего сайта с остатками поставщиков по цене и наличию. Скрипт обрабатывает коды (артикулы) товара. Поскольку было непонятно, что делать с дублирующимся товаром, то товар заведён по такому принципу, от одного поставщика весь товар, от второго только то чего нет у первого. Таким образом товар заведённый (во избежании дублирования), от одного поставщика, в том случае, когда заканчивается мы теряем покупателей. Потому что мы (наши продавцы) и покупатели не знают что у другого поставщика этот товар имеется в наличии. Поэтому вопрос, как правильно синхронизировать дублирующиеся товары?
Скопировать ссылку на сообщение
Ответить
Figu
26/05/2011
qualified:

Поэтому вопрос, как правильно синхронизировать дублирующиеся товары?


Либо записывать дубликаты в БД, либо добавить поля типа quantity2 cost2 и в них записывать кол-во и цену по второму прайс листу (если требуется уникальность артикла и скорость работы БД).

А дальше уже ваш сайт должен правильно выбирать из базы данных товары, либо он суммирует quantity1+quantity2 и выдаёт цену cost1 (если вы можете позволить себе продать товар второго поставщика по цене первого), либо сперва отдаёт quantity1 по цене cost1, а когда товар заканчивается выдаёт в поиске quantity2 по цене cost2.

По уму, наверное, нужно отдавать quantity1+quantity2 по цене cost1. А разница цены между 1 и 2 поставщиком будет вашей издержкой (считайте скидкой). Хотя бы в пределах 1 заказа так оставить, который перекрывает кол-во quantity1. Для новых покупок можно переключать уже и на cost2.

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

Самый простой вариант без переделок сайта это тупо суммировать quantity1 и quantity2 на этапе загрузки прайсов, и продавать их по 1 цене. Тогда вам нужно поменять только скрипт-загрузчик, чтобы он одинаковые позиции не игнорировал, а суммировал по кол-ву в наличии.
Скопировать ссылку на сообщение
Ответить
qualified
26/05/2011
Это более менее понятно. Непонятно как связать дубликаты между собой, так как у них разные артикулы, которые сгенерированы как я понимаю либо базой в которой работают поставщики, либо движком сайта. По каким признакам скрипт будет понимать что какой-то определённый товар является дубликатом товара, который есть у дрого поставщика. Тем более что у поставщиков есть уникальные товары (которые есть только у одного поставщика). Таким образом вопрос, как скрипт должен понимать, что у другого поставщика есть дубликат товара и какой именно товар является дубликатом.
Скопировать ссылку на сообщение
Ответить
Andic
26/05/2011
Схема Figu вполне себе работоспособна. Только собирался добавить к ней, что тут может быть проблема с разными артикулами на один товар у разных поставщиков, но автор опередил меня. Хотя из его постановки задачи, следует что артикулы все же одинаковые. Вы же сейчас как-то определяется, что этот конкретный товар есть у первого поставщика и поэтому из прайса второго его не берем: "товар заведён по такому принципу, от одного поставщика весь товар, от второго только то чего нет у первого." То есть для каждого товара из прайса 2 Вы понимаете, что для него уже есть товар из прайса 1 или нет. Если не по артикулу то как?

Но вообще с разными артикулами тоже все просто, но решение потребует предварительной ручной работы.
У товара нужно будет завести поле Артикул2.
Это поле заполняем руками, настраивая соответствие
артикулов постащика 1 и артикулов поставщика 2.
Скопировать ссылку на сообщение
Ответить
qualified
26/05/2011
Andic:

Хотя из его постановки задачи, следует что артикулы все же одинаковые.

Нет артикулы разные.

Andic:

Вы же сейчас как-то определяется, что этот конкретный товар есть у первого поставщика и поэтому из прайса второго его не берем: "товар заведён по такому принципу, от одного поставщика весь товар, от второго только то чего нет у первого." То есть для каждого товара из прайса 2 Вы понимаете, что для него уже есть товар из прайса 1 или нет. Если не по артикулу то как?

Дык, товар вручную заводили и привязывали к кодам (артикулам), а не переливали при помощи скрипта. Потому что мне ещё не нравится, как наименование заведены у поставщиков - непонятные не для людей, не для поисковых роботов, с грамматическими ошибками и т.д.
Скопировать ссылку на сообщение
Ответить
Sergeysport
26/05/2011
Как вы привязываетесь к товарам поставщиков?
Для примера, ваш товар
-------------------------
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул для покупателей: A0516
есть внутренний ваш ID 2115
-------------------------
Что есть для привязки у поставщиков?
поставщик 1
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул: 111111
-------------------------
поставщик 2
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул: 222222
--------------------------
Что их связывает, может артикул A0516
одиннаковый у поставщиков

Почему спрашиваю, вы хоть и написали, что товары привязаны по артикулу, тогда что мешает в скрипте-обработчике написать логику:
товар в наличии, если он в наличии хотя бы у одного из поставщиков( если нет у первого, но есть у второго, то в наличии).
Ведь главное привязать товары, а обработать и анализировать можно как хочешь
Скопировать ссылку на сообщение
Ответить
qualified
26/05/2011
Sergeysport:

тогда что мешает в скрипте-обработчике написать логику

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

Всем ответившим спасибо впрочем, вы мне очень помогли.
Скопировать ссылку на сообщение
Ответить
Figu
27/05/2011
qualified:

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

Да всё очень просто, открываете Excel и рисуете структуру таблицы. Листы - это таблицы (например: users, goods и orders), а колонки A B С D E... это поля (например, для таблицы goods это: id, name, quantity1, quantity2, cost1, cost2).
Дальше этот excel файл отдаёте программисту и описываете словами что и как в ней должно работать. Он её переносит на MySql и выстраивает логику.

Хотя, у вас скрипт магазина я смотрю готовый использован. Обычно столько лишних наворотов в таких скриптах, что можно умом тронуться.
Ответить
Разделы форума
Открытие бизнеса
Привлечение клиентов
Удержание клиентов
Ведение бизнеса
Работа с маркетплейсами
Тенденции развития
Специальные форумы

cron