Форум
Читайте нас также:

об электронной торговле - для интернет-магазинов и ритейла. портал и сообщество

Форум

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



Ссылка на сообщение qualified


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



Ссылка на сообщение Figu


qualified:

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


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

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

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

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

Самый простой вариант без переделок сайта это тупо суммировать quantity1 и quantity2 на этапе загрузки прайсов, и продавать их по 1 цене. Тогда вам нужно поменять только скрипт-загрузчик, чтобы он одинаковые позиции не игнорировал, а суммировал по кол-ву в наличии.



Ссылка на сообщение qualified


Это более менее понятно. Непонятно как связать дубликаты между собой, так как у них разные артикулы, которые сгенерированы как я понимаю либо базой в которой работают поставщики, либо движком сайта. По каким признакам скрипт будет понимать что какой-то определённый товар является дубликатом товара, который есть у дрого поставщика. Тем более что у поставщиков есть уникальные товары (которые есть только у одного поставщика). Таким образом вопрос, как скрипт должен понимать, что у другого поставщика есть дубликат товара и какой именно товар является дубликатом.



Ссылка на сообщение Andic


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

Но вообще с разными артикулами тоже все просто, но решение потребует предварительной ручной работы.
У товара нужно будет завести поле Артикул2.
Это поле заполняем руками, настраивая соответствие
артикулов постащика 1 и артикулов поставщика 2.



Ссылка на сообщение qualified


Andic:

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

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

Andic:

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

Дык, товар вручную заводили и привязывали к кодам (артикулам), а не переливали при помощи скрипта. Потому что мне ещё не нравится, как наименование заведены у поставщиков - непонятные не для людей, не для поисковых роботов, с грамматическими ошибками и т.д.



Ссылка на сообщение Sergeysport


Как вы привязываетесь к товарам поставщиков?
Для примера, ваш товар
-------------------------
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул для покупателей: A0516
есть внутренний ваш ID 2115
-------------------------
Что есть для привязки у поставщиков?
поставщик 1
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул: 111111
-------------------------
поставщик 2
Аккумулятор для ноутбука Fujitsu-Siemens Amilo D1420
артикул: 222222
--------------------------
Что их связывает, может артикул A0516
одиннаковый у поставщиков

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



Ссылка на сообщение qualified


Sergeysport:

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

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

Всем ответившим спасибо впрочем, вы мне очень помогли.



Ссылка на сообщение Figu


qualified:

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

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

Хотя, у вас скрипт магазина я смотрю готовый использован. Обычно столько лишних наворотов в таких скриптах, что можно умом тронуться.






Ответить



:D
:)
:(
:o
:shock:
:?
8)
:lol:
:x
:P
:oops:
:cry:
:evil:
:twisted:
:roll:
:wink:
:!:
:?:
:idea:
:arrow:
:|
:mrgreen:







2001 - 2017 © Оборот.ру. Все права защищены