$deliveryModel->latitude = 0.0;
$deliveryModel->longitude = 0.0;
}
- } else {
- // Адрес не структурирован — парсим из текстовой строки delivery в raw_data
+ }
+ // Fallback: если street всё равно пустой — парсим из raw_data или ставим дефолт
+ if (empty($deliveryModel->street)) {
$rawData = json_decode($marketplaceOrder->raw_data, true);
$deliveryText = $rawData['delivery'] ?? null;
- Yii::warning('[ERP-252-v2] address=null для заказа #' . $marketplaceOrder->id . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
+ Yii::warning('[ERP-252-v3] new: street empty для заказа #' . $marketplaceOrder->id . ', address=' . ($address ? 'object' : 'null') . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
if ($deliveryText && is_string($deliveryText)) {
$parsed = self::parseAddressFromDeliveryText($deliveryText);
- $deliveryModel->country = 'Россия';
- $deliveryModel->city = $parsed['city'];
+ $deliveryModel->country = $deliveryModel->country ?: 'Россия';
+ $deliveryModel->city = $deliveryModel->city ?: $parsed['city'];
$deliveryModel->street = $parsed['street'];
- $deliveryModel->house = $parsed['house'];
- $deliveryModel->latitude = $parsed['latitude'];
- $deliveryModel->longitude = $parsed['longitude'];
+ $deliveryModel->house = $deliveryModel->house ?: $parsed['house'];
+ $deliveryModel->latitude = $deliveryModel->latitude ?: $parsed['latitude'];
+ $deliveryModel->longitude = $deliveryModel->longitude ?: $parsed['longitude'];
} else {
- $deliveryModel->country = 'Уточняется';
- $deliveryModel->city = 'Уточняется';
+ $deliveryModel->country = $deliveryModel->country ?: 'Уточняется';
+ $deliveryModel->city = $deliveryModel->city ?: 'Уточняется';
$deliveryModel->street = 'Уточняется';
- $deliveryModel->house = 'Уточняется';
- $deliveryModel->latitude = 0.0;
- $deliveryModel->longitude = 0.0;
+ $deliveryModel->house = $deliveryModel->house ?: 'Уточняется';
+ $deliveryModel->latitude = $deliveryModel->latitude ?: 0.0;
+ $deliveryModel->longitude = $deliveryModel->longitude ?: 0.0;
}
}
$shipments = $delivery->getShipments();
$deliveryModel->latitude = 0.0;
$deliveryModel->longitude = 0.0;
}
- } else {
- // Адрес не структурирован — парсим из текстовой строки delivery в raw_data
+ }
+ // Fallback: если street всё равно пустой — парсим из raw_data или ставим дефолт
+ if (empty($deliveryModel->street)) {
$rawData = json_decode($marketplaceOrder->raw_data, true);
$deliveryText = $rawData['delivery'] ?? null;
- Yii::warning('[ERP-252-v2] update: address=null для заказа #' . $marketplaceOrder->id . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
+ Yii::warning('[ERP-252-v3] update: street empty для заказа #' . $marketplaceOrder->id . ', address=' . ($address ? 'object' : 'null') . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
if ($deliveryText && is_string($deliveryText)) {
$parsed = self::parseAddressFromDeliveryText($deliveryText);
- $deliveryModel->country = 'Россия';
- $deliveryModel->city = $parsed['city'];
+ $deliveryModel->country = $deliveryModel->country ?: 'Россия';
+ $deliveryModel->city = $deliveryModel->city ?: $parsed['city'];
$deliveryModel->street = $parsed['street'];
- $deliveryModel->house = $parsed['house'];
- $deliveryModel->latitude = $parsed['latitude'];
- $deliveryModel->longitude = $parsed['longitude'];
+ $deliveryModel->house = $deliveryModel->house ?: $parsed['house'];
+ $deliveryModel->latitude = $deliveryModel->latitude ?: $parsed['latitude'];
+ $deliveryModel->longitude = $deliveryModel->longitude ?: $parsed['longitude'];
} else {
- $deliveryModel->country = 'Уточняется';
- $deliveryModel->city = 'Уточняется';
+ $deliveryModel->country = $deliveryModel->country ?: 'Уточняется';
+ $deliveryModel->city = $deliveryModel->city ?: 'Уточняется';
$deliveryModel->street = 'Уточняется';
- $deliveryModel->house = 'Уточняется';
- $deliveryModel->latitude = 0.0;
- $deliveryModel->longitude = 0.0;
+ $deliveryModel->house = $deliveryModel->house ?: 'Уточняется';
+ $deliveryModel->latitude = $deliveryModel->latitude ?: 0.0;
+ $deliveryModel->longitude = $deliveryModel->longitude ?: 0.0;
}
}
$dates = $delivery->getDates();
$deliveryModel->latitude = 0.0;
$deliveryModel->longitude = 0.0;
}
- } else {
- // Адрес не структурирован — парсим из текстовой строки delivery в raw_data
+ }
+ // Fallback: если street всё равно пустой — парсим из raw_data или ставим дефолт
+ if (empty($deliveryModel->street)) {
$rawData = json_decode($marketplaceOrder->raw_data, true);
$deliveryText = $rawData['delivery'] ?? null;
- Yii::warning('[ERP-252-v2] existing: address=null для заказа #' . $marketplaceOrder->id . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
+ Yii::warning('[ERP-252-v3] existing: street empty для заказа #' . $marketplaceOrder->id . ', address=' . ($address ? 'object' : 'null') . ', deliveryText=' . ($deliveryText ?: 'NULL'), 'marketplace');
if ($deliveryText && is_string($deliveryText)) {
$parsed = self::parseAddressFromDeliveryText($deliveryText);
- $deliveryModel->country = 'Россия';
- $deliveryModel->city = $parsed['city'];
+ $deliveryModel->country = $deliveryModel->country ?: 'Россия';
+ $deliveryModel->city = $deliveryModel->city ?: $parsed['city'];
$deliveryModel->street = $parsed['street'];
- $deliveryModel->house = $parsed['house'];
- $deliveryModel->latitude = $parsed['latitude'];
- $deliveryModel->longitude = $parsed['longitude'];
+ $deliveryModel->house = $deliveryModel->house ?: $parsed['house'];
+ $deliveryModel->latitude = $deliveryModel->latitude ?: $parsed['latitude'];
+ $deliveryModel->longitude = $deliveryModel->longitude ?: $parsed['longitude'];
} else {
- $deliveryModel->country = 'Уточняется';
- $deliveryModel->city = 'Уточняется';
+ $deliveryModel->country = $deliveryModel->country ?: 'Уточняется';
+ $deliveryModel->city = $deliveryModel->city ?: 'Уточняется';
$deliveryModel->street = 'Уточняется';
- $deliveryModel->house = 'Уточняется';
- $deliveryModel->latitude = 0.0;
- $deliveryModel->longitude = 0.0;
+ $deliveryModel->house = $deliveryModel->house ?: 'Уточняется';
+ $deliveryModel->latitude = $deliveryModel->latitude ?: 0.0;
+ $deliveryModel->longitude = $deliveryModel->longitude ?: 0.0;
}
}
$shipments = $delivery->getShipments();