USED DROM XML update - move light commercial types to special
This commit is contained in:
parent
8662db0e5a
commit
a2b2fbb599
@ -202,102 +202,111 @@ class DromXMLGenerator
|
||||
{
|
||||
$this->total++;
|
||||
|
||||
$type = $entry['PROPERTIES']['VEHICLE_SUBTYPE']['VALUE'];
|
||||
//print $type."\n";
|
||||
$type = $entry['PROPERTIES']['VEHICLE_TYPE']['VALUE'];
|
||||
$subtype = $entry['PROPERTIES']['VEHICLE_SUBTYPE']['VALUE'];
|
||||
//print $type." ".$subtype."\n";
|
||||
|
||||
if($type === "Легковой автомобиль")
|
||||
if($type === "Лёгкий коммерческий")
|
||||
{
|
||||
$this->found_cars++;
|
||||
$this->buildOffer(false, [ 'group' => 'car' ], $entry);
|
||||
|
||||
/*
|
||||
$idMark = $this->getDictionaryRecordId($this->dictionaries['car']['brands'], mb_strtoupper($entry['PROPERTIES']['BRAND']['RELATED']['NAME']));
|
||||
//print $entry['CODE']." - ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']." - ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." - [".$idMark."] - [".$idModel."]\n";
|
||||
//if(is_null($idMark)) { $this->errors .= "Не найдена марка ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']."\n"; continue; }
|
||||
|
||||
if($idMark !== null)
|
||||
{
|
||||
//* id марки авто (см. файл-справочник); если не можете указать id, то укажите название марки текстом в поле sMark
|
||||
$offer['idMark'] = $idMark;
|
||||
}
|
||||
else
|
||||
{
|
||||
//* название марки авто (Toyota, Honda, BMW и т.п.); указывать обязательно только в том случае, если не можете указать idMark
|
||||
$offer['sMark'] = $entry['PROPERTIES']['BRAND']['RELATED']['NAME'];
|
||||
}
|
||||
|
||||
$idModel = $this->getDictionaryRecordId($this->dictionaries['car']['models'], mb_strtoupper($entry['PROPERTIES']['MODEL']['RELATED']['NAME']));
|
||||
//if(is_null($idModel)) { $this->errors .= "Не найдена модель ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." для ".".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']."."\n"; continue; }
|
||||
if($idModel !== null)
|
||||
{
|
||||
//* id модели авто (см. файл-справочник); если не можете указать id, то укажите название модели текстом в поле sModel
|
||||
$offer['idModel'] = $idModel;
|
||||
}
|
||||
else
|
||||
{
|
||||
//* название модели авто (Land Cruiser, Accord, X5 и т.п.); указывать обязательно только в том случае, если не можете указать idModel
|
||||
$offer['sModel'] = $entry['PROPERTIES']['MODEL']['RELATED']['NAME'];
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
$payload = [
|
||||
"idOffer" => $entry['CODE'], //* уникальный id объявления в вашей базе данных
|
||||
"idMark" => "", //* id марки авто (см. файл-справочник); если не можете указать id, то укажите название марки текстом в поле sMark
|
||||
"idModel" => "", //* id модели авто (см. файл-справочник); если не можете указать id, то укажите название модели текстом в поле sModel
|
||||
"sMark" => "", //* название марки авто (Toyota, Honda, BMW и т.п.); указывать обязательно только в том случае, если не можете указать idMark
|
||||
"sModel" => "", //* название модели авто (Land Cruiser, Accord, X5 и т.п.); указывать обязательно только в том случае, если не можете указать idModel
|
||||
"idCountry" => "", //id страны, где находится авто (см. файл-справочник, по умолчанию — 0)
|
||||
"idCity" => "", //id города, в котором находится авто (см. файл-справочник)
|
||||
"sCity" => "", //название города, в котором находится авто (см. файл-справочник)
|
||||
"YearOfMade" => "", //год выпуска ТС (только год, 4 цифры: 1995, 2003, 2018 и т.п.)
|
||||
"VIN" => $entry['PROPERTIES']['VIN']['VALUE'], //* VIN или номер кузова, если VIN отсутствует
|
||||
"Price" => $entry['PROPERTIES']['PRICE']['VALUE'], //цена в рублях
|
||||
"NewType" => 0, //признак, что автомобиль новый; 1 — новый, 0 — не новый (с пробегом)
|
||||
"Volume" => $entry['PROPERTIES']['ENGINE_VOLUME']['VALUE'], //объем двигателя в куб.см (пример: 599, 1300, 2631 и т.п.)
|
||||
"FrameType" => "???", //тип кузова (см. файл-справочник)
|
||||
"Color" => "???", //цвет кузова (см. файл-справочник)
|
||||
"idTransmission" => "???", //id типа трансмиссии (см. файл-справочник)
|
||||
"sTransmission" => "???", //название типа трансмиссии
|
||||
"idEngineType" => "", //id типа двигателя (см. файл-справочник)
|
||||
"sEngineType" => "", //название типа двигателя
|
||||
"idHybridType" => "", //гибрид (см. файл-справочник)
|
||||
"sHybridType" => "", //гибрид (да, нет)
|
||||
"idGbo" => "", //ГБО (см. файл-справочник)
|
||||
"sGbo" => "", //ГБО (да, нет)
|
||||
"idDriveType" => "???", //id типа двигателя (см. файл-справочник)
|
||||
"sDriveType" => "", //название типа двигателя
|
||||
"sWheelType" => "", //положение руля (левый, правый)
|
||||
"Haul" => "", //пробег (показания одометра в километрах)
|
||||
"sComplectation" => "", //название комплектации (в соответствии с каталогом)
|
||||
"idComplectation" => "", //id комплектации на Дроме (в соответствии с каталогом)
|
||||
"Additional" => "", //текстовое описание ТС (комплектация, оснащение, тюнинг и т.п.), здесь можно указать сссылку на видео, размещенное на YouTube
|
||||
"Photos" => "", //секция со списком фотографий (ниже есть подробное описание секции)
|
||||
"Phone" => "", //номер телефона (поле не должно быть больше 20 символов)
|
||||
"Whereabouts" => "", //авто в наличии или под заказ (см. файл-справочник)
|
||||
"Power" => $entry['PROPERTIES']['ENGINE_POWER']['VALUE'], //мощность автомобиля в лошадиных силах
|
||||
"idCertProgram" => "", //программа сертификации (см. файл-справочник)
|
||||
"DamagedType" => "", //признак для поврежденных автомобилей (0 - небитые, 1 - битые или не на ходу)
|
||||
"SOR" => "", //номер свидетельства о регистрации ТС для авто с пробегом (10 символов)
|
||||
];
|
||||
*/
|
||||
$this->found_special++;
|
||||
$this->buildOffer(true, [ 'group' => 'truck', 'id' => 27 ], $entry);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->found_special++;
|
||||
|
||||
$frame = $this->getFrameType(mb_strtoupper($type), mb_strtoupper($entry['PROPERTIES']['MODEL']['RELATED']['NAME']));
|
||||
|
||||
if(!is_null($frame))
|
||||
if($subtype === "Легковой автомобиль")
|
||||
{
|
||||
$this->buildOffer(true, $frame, $entry);
|
||||
$this->found_cars++;
|
||||
$this->buildOffer(false, [ 'group' => 'car' ], $entry);
|
||||
|
||||
/*
|
||||
$idMark = $this->getDictionaryRecordId($this->dictionaries['car']['brands'], mb_strtoupper($entry['PROPERTIES']['BRAND']['RELATED']['NAME']));
|
||||
//print $entry['CODE']." - ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']." - ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." - [".$idMark."] - [".$idModel."]\n";
|
||||
//if(is_null($idMark)) { $this->errors .= "Не найдена марка ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']."\n"; continue; }
|
||||
|
||||
if($idMark !== null)
|
||||
{
|
||||
//* id марки авто (см. файл-справочник); если не можете указать id, то укажите название марки текстом в поле sMark
|
||||
$offer['idMark'] = $idMark;
|
||||
}
|
||||
else
|
||||
{
|
||||
//* название марки авто (Toyota, Honda, BMW и т.п.); указывать обязательно только в том случае, если не можете указать idMark
|
||||
$offer['sMark'] = $entry['PROPERTIES']['BRAND']['RELATED']['NAME'];
|
||||
}
|
||||
|
||||
$idModel = $this->getDictionaryRecordId($this->dictionaries['car']['models'], mb_strtoupper($entry['PROPERTIES']['MODEL']['RELATED']['NAME']));
|
||||
//if(is_null($idModel)) { $this->errors .= "Не найдена модель ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." для ".".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']."."\n"; continue; }
|
||||
if($idModel !== null)
|
||||
{
|
||||
//* id модели авто (см. файл-справочник); если не можете указать id, то укажите название модели текстом в поле sModel
|
||||
$offer['idModel'] = $idModel;
|
||||
}
|
||||
else
|
||||
{
|
||||
//* название модели авто (Land Cruiser, Accord, X5 и т.п.); указывать обязательно только в том случае, если не можете указать idModel
|
||||
$offer['sModel'] = $entry['PROPERTIES']['MODEL']['RELATED']['NAME'];
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
$payload = [
|
||||
"idOffer" => $entry['CODE'], //* уникальный id объявления в вашей базе данных
|
||||
"idMark" => "", //* id марки авто (см. файл-справочник); если не можете указать id, то укажите название марки текстом в поле sMark
|
||||
"idModel" => "", //* id модели авто (см. файл-справочник); если не можете указать id, то укажите название модели текстом в поле sModel
|
||||
"sMark" => "", //* название марки авто (Toyota, Honda, BMW и т.п.); указывать обязательно только в том случае, если не можете указать idMark
|
||||
"sModel" => "", //* название модели авто (Land Cruiser, Accord, X5 и т.п.); указывать обязательно только в том случае, если не можете указать idModel
|
||||
"idCountry" => "", //id страны, где находится авто (см. файл-справочник, по умолчанию — 0)
|
||||
"idCity" => "", //id города, в котором находится авто (см. файл-справочник)
|
||||
"sCity" => "", //название города, в котором находится авто (см. файл-справочник)
|
||||
"YearOfMade" => "", //год выпуска ТС (только год, 4 цифры: 1995, 2003, 2018 и т.п.)
|
||||
"VIN" => $entry['PROPERTIES']['VIN']['VALUE'], //* VIN или номер кузова, если VIN отсутствует
|
||||
"Price" => $entry['PROPERTIES']['PRICE']['VALUE'], //цена в рублях
|
||||
"NewType" => 0, //признак, что автомобиль новый; 1 — новый, 0 — не новый (с пробегом)
|
||||
"Volume" => $entry['PROPERTIES']['ENGINE_VOLUME']['VALUE'], //объем двигателя в куб.см (пример: 599, 1300, 2631 и т.п.)
|
||||
"FrameType" => "???", //тип кузова (см. файл-справочник)
|
||||
"Color" => "???", //цвет кузова (см. файл-справочник)
|
||||
"idTransmission" => "???", //id типа трансмиссии (см. файл-справочник)
|
||||
"sTransmission" => "???", //название типа трансмиссии
|
||||
"idEngineType" => "", //id типа двигателя (см. файл-справочник)
|
||||
"sEngineType" => "", //название типа двигателя
|
||||
"idHybridType" => "", //гибрид (см. файл-справочник)
|
||||
"sHybridType" => "", //гибрид (да, нет)
|
||||
"idGbo" => "", //ГБО (см. файл-справочник)
|
||||
"sGbo" => "", //ГБО (да, нет)
|
||||
"idDriveType" => "???", //id типа двигателя (см. файл-справочник)
|
||||
"sDriveType" => "", //название типа двигателя
|
||||
"sWheelType" => "", //положение руля (левый, правый)
|
||||
"Haul" => "", //пробег (показания одометра в километрах)
|
||||
"sComplectation" => "", //название комплектации (в соответствии с каталогом)
|
||||
"idComplectation" => "", //id комплектации на Дроме (в соответствии с каталогом)
|
||||
"Additional" => "", //текстовое описание ТС (комплектация, оснащение, тюнинг и т.п.), здесь можно указать сссылку на видео, размещенное на YouTube
|
||||
"Photos" => "", //секция со списком фотографий (ниже есть подробное описание секции)
|
||||
"Phone" => "", //номер телефона (поле не должно быть больше 20 символов)
|
||||
"Whereabouts" => "", //авто в наличии или под заказ (см. файл-справочник)
|
||||
"Power" => $entry['PROPERTIES']['ENGINE_POWER']['VALUE'], //мощность автомобиля в лошадиных силах
|
||||
"idCertProgram" => "", //программа сертификации (см. файл-справочник)
|
||||
"DamagedType" => "", //признак для поврежденных автомобилей (0 - небитые, 1 - битые или не на ходу)
|
||||
"SOR" => "", //номер свидетельства о регистрации ТС для авто с пробегом (10 символов)
|
||||
];
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->invalid_special++;
|
||||
print $this->invalid_special." НЕ УДАЛОСЬ ОПРЕДЕЛИТЬ ТИП: ".mb_strtoupper($type)." \t\t[ ".$entry['CODE']." ][ ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']." ][ ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." ]\n";
|
||||
$this->found_special++;
|
||||
|
||||
//$this->not_found_special++;
|
||||
$frame = $this->getFrameType(mb_strtoupper($subtype), mb_strtoupper($entry['PROPERTIES']['MODEL']['RELATED']['NAME']));
|
||||
|
||||
if(!is_null($frame))
|
||||
{
|
||||
$this->buildOffer(true, $frame, $entry);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->invalid_special++;
|
||||
print $this->invalid_special." НЕ УДАЛОСЬ ОПРЕДЕЛИТЬ ТИП: ".mb_strtoupper($subtype)." \t\t[ ".$entry['CODE']." ][ ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']." ][ ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." ]\n";
|
||||
|
||||
//$this->not_found_special++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -321,9 +330,6 @@ class DromXMLGenerator
|
||||
$payload["Haul"] = $entry['PROPERTIES']['MILEAGE']['VALUE'];
|
||||
}
|
||||
|
||||
print_r($entry['PROPERTIES']['AFTER_ACCIDENT']);
|
||||
print "\n";
|
||||
|
||||
if(!empty($entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE']))
|
||||
{
|
||||
$payload[ $special ? "idDamagedType" : "DamagedType" ] = $entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE_XML_ID'] == "YES" ? 1 : 0;
|
||||
@ -360,9 +366,16 @@ class DromXMLGenerator
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->invalid_special++;
|
||||
print $this->invalid_special." НЕТ КОЛЕСНОЙ ФОРМУЛЫ: ".$entry['CODE']." - ".$item_name." [".$wheel_type_matches[0]."]\n";
|
||||
return;
|
||||
if(stripos($item_name, "КАБИНЕТ") !== false || stripos($item_name, "ФУРГОН") !== false || stripos($item_name, "БОРТОВОЙ") !== false || stripos($item_name, "СОБОЛЬ") !== false)
|
||||
{
|
||||
$payload['idWheelFormulaType'] = $this->getDictionaryRecordId($this->dictionaries[ $frame['group'] ]['wheels'], "4X2");
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->invalid_special++;
|
||||
print $this->invalid_special." НЕТ КОЛЕСНОЙ ФОРМУЛЫ: ".$entry['CODE']." - ".$item_name." [".$wheel_type_matches[0]."]\n";
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user