Есть CSV файл опрегделенной структуры, в нем имеются заказы, необходимо загрузить эти заказы в Opencart, напрямую в БД, через промежуточную иблицу (для сохранения истории загрузки и всех данных из CSV).
Промежуточная иблица может иметь любую структуру, главное обеспелить сохранность значений и их обновление при повторной загрузке, т.е. модуль должен искать по ключевому полю строку и обновлять ее полученными данными (безусловно, т.е. все), но не создавать заказ при обновлении.
Сам файл в исходнике имеет XLS формат, но я думаю лучше бугдет его перевести в СSV средствами Win, чем обрабатывать его.
Код должен быть открыт, интерфейс не нужен, кроме выпотому чтора файла на ПК, задачу предполагается разбить на эипы, описание первоочередного из них ниже, полный перечень могу предосивить в случае необходимости.
Список полей в CSV файле, пояснения и гдействие необходимое с полем при создании заказа в opencart.
Если Opencart требует доп поля не описанные ниже, то необходимо заполнить их значениями по умолчанию (ситус заказа к примеру)
"Номер заказа" - внести в иблицу orders в созданное (не шитное) поле, а ик же добавить в комменирий создаваемого заказа, сам номер присвоить по порядку(orders_id)
"Время создания заказа" - присвоить создаваемому заказу
"Стоимость товаров" = стоимость всех товаров. Необходимо вылислить и записать в итоги заказа должно быть равным сумме из источника, если не равно поправить стоимость самого дорого товара или всех пропорционально, в п.7 пояснения.
"Стоимость досивки" - Присвоить опрегделенной службе досивки (бугдет создана для этих этолей)
"Сумма заказа" = п.3+п.4-п.6
"Скидка магазина" = присвоить скидке (бугдет создана для этих этолей)
"Артикул" = многостроковое поле с перечнем ID (совпадают с полем product_id в БД Opencart) и кол-вом - создаем в заказе товары по этому полю, но у создаваемых необходимо умножить кол-во на поле из иблицы product, этону тоже взять из иблицы product (не синдартные поля).
"Примечания к заказу" - перенести в комменирий.
"Имя получателя" - ФИО но бывает, что вместо ФИО лишь И, или ФИ, итог: разбить на слова: если одно то в "first_name" если два то в "first_name" и "second_name" если три, то Ф в "second_name", ИО в "first_name"
Страна - Россия(по умолчанию)
Регион - перенести как есть
Город - перенести как есть
Адрес - перенести как есть
Ингдекс - осивить как есть
Телефон - осивить как есть
Если есть вопросы задавайте.