From 6d522f6d94f64543c2043d77df56a14e33a1f034 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Sat, 28 Feb 2026 21:57:39 +0300 Subject: [PATCH] fix(ERP-247): improve delivery save error logging in MarketplaceService - Log deliveryText when type not recognized (was silent return false) - Log delivery model errors + deliveryText when model.save() fails (previously logged wrong model's errors - marketplaceOrder instead) - Fix callers to log order id instead of empty marketplaceOrder.getErrors() Co-Authored-By: Claude Sonnet 4.6 --- erp24/services/MarketplaceService.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index 5d1d7108..72f14935 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -2868,7 +2868,7 @@ class MarketplaceService if (isset($orderDetails['delivery'])) { $deliveryRecord = self::saveFromDeliveryText($marketplaceOrder->id, $orderDetails['delivery']); if (!$deliveryRecord) { - Yii::error('Не удалось сохранить доставку' . json_encode($marketplaceOrder->getErrors(), JSON_UNESCAPED_UNICODE)); + Yii::error('Не удалось сохранить доставку для заказа #' . $marketplaceOrder->id, 'marketplace'); } } } else { @@ -2903,7 +2903,7 @@ class MarketplaceService if (isset($orderDetails['delivery'])) { $deliveryRecord = self::saveFromDeliveryText($marketplaceOrder->id, $orderDetails['delivery']); if (!$deliveryRecord) { - Yii::error('Не удалось сохранить доставку' . json_encode($marketplaceOrder->getErrors(), JSON_UNESCAPED_UNICODE)); + Yii::error('Не удалось сохранить доставку для заказа #' . $marketplaceOrder->id, 'marketplace'); } } } else { @@ -3151,6 +3151,7 @@ class MarketplaceService $model->service_name = 'UNKNOWN'; $model->partner_type = 'UNKNOWN'; } else { + Yii::warning('Не распознан тип доставки. deliveryText: ' . $deliveryText, 'marketplace'); return false; } @@ -3198,7 +3199,16 @@ class MarketplaceService $model->latitude = $address['latitude']; $model->longitude = $address['longitude']; - return $model->save(); + if (!$model->save()) { + Yii::error( + 'Не удалось сохранить модель доставки: ' + . json_encode($model->getErrors(), JSON_UNESCAPED_UNICODE) + . ' deliveryText: ' . $deliveryText, + 'marketplace' + ); + return false; + } + return true; } public static function parseAddressFromDeliveryText(string $text): array -- 2.39.5