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++;
|
$this->total++;
|
||||||
|
|
||||||
$type = $entry['PROPERTIES']['VEHICLE_SUBTYPE']['VALUE'];
|
$type = $entry['PROPERTIES']['VEHICLE_TYPE']['VALUE'];
|
||||||
//print $type."\n";
|
$subtype = $entry['PROPERTIES']['VEHICLE_SUBTYPE']['VALUE'];
|
||||||
|
//print $type." ".$subtype."\n";
|
||||||
|
|
||||||
if($type === "Легковой автомобиль")
|
if($type === "Лёгкий коммерческий")
|
||||||
{
|
{
|
||||||
$this->found_cars++;
|
$this->found_special++;
|
||||||
$this->buildOffer(false, [ 'group' => 'car' ], $entry);
|
$this->buildOffer(true, [ 'group' => 'truck', 'id' => 27 ], $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
|
else
|
||||||
{
|
{
|
||||||
$this->found_special++;
|
if($subtype === "Легковой автомобиль")
|
||||||
|
|
||||||
$frame = $this->getFrameType(mb_strtoupper($type), mb_strtoupper($entry['PROPERTIES']['MODEL']['RELATED']['NAME']));
|
|
||||||
|
|
||||||
if(!is_null($frame))
|
|
||||||
{
|
{
|
||||||
$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
|
else
|
||||||
{
|
{
|
||||||
$this->invalid_special++;
|
$this->found_special++;
|
||||||
print $this->invalid_special." НЕ УДАЛОСЬ ОПРЕДЕЛИТЬ ТИП: ".mb_strtoupper($type)." \t\t[ ".$entry['CODE']." ][ ".$entry['PROPERTIES']['BRAND']['RELATED']['NAME']." ][ ".$entry['PROPERTIES']['MODEL']['RELATED']['NAME']." ]\n";
|
|
||||||
|
|
||||||
//$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'];
|
$payload["Haul"] = $entry['PROPERTIES']['MILEAGE']['VALUE'];
|
||||||
}
|
}
|
||||||
|
|
||||||
print_r($entry['PROPERTIES']['AFTER_ACCIDENT']);
|
|
||||||
print "\n";
|
|
||||||
|
|
||||||
if(!empty($entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE']))
|
if(!empty($entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE']))
|
||||||
{
|
{
|
||||||
$payload[ $special ? "idDamagedType" : "DamagedType" ] = $entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE_XML_ID'] == "YES" ? 1 : 0;
|
$payload[ $special ? "idDamagedType" : "DamagedType" ] = $entry['PROPERTIES']['AFTER_ACCIDENT']['VALUE_XML_ID'] == "YES" ? 1 : 0;
|
||||||
@ -360,9 +366,16 @@ class DromXMLGenerator
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->invalid_special++;
|
if(stripos($item_name, "КАБИНЕТ") !== false || stripos($item_name, "ФУРГОН") !== false || stripos($item_name, "БОРТОВОЙ") !== false || stripos($item_name, "СОБОЛЬ") !== false)
|
||||||
print $this->invalid_special." НЕТ КОЛЕСНОЙ ФОРМУЛЫ: ".$entry['CODE']." - ".$item_name." [".$wheel_type_matches[0]."]\n";
|
{
|
||||||
return;
|
$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