From 568819ccbd8c10011e27239cb9d4984ef6dcc442 Mon Sep 17 00:00:00 2001 From: fomichev Date: Thu, 17 Jul 2025 10:52:19 +0300 Subject: [PATCH] =?utf8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?utf8?q?=D0=B8=D0=B5=20seller=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/api2/controllers/DataController.php | 8 +++++++- erp24/api2/controllers/OrdersController.php | 12 +++++++++++- erp24/services/MarketplaceService.php | 4 +++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/erp24/api2/controllers/DataController.php b/erp24/api2/controllers/DataController.php index 29c7850a..995cff78 100644 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@ -2922,10 +2922,16 @@ class DataController extends BaseController $status->code, $substatus->code ); + if (!$updateResult && $marketplaceOrder->fake == 1) { + if ($status->id && $substatus->id) { + $marketplaceOrder->status_id = $status->id; + $marketplaceOrder->substatus_id = $substatus->id; + } + } } } else { - if (!empty($orderStatus1CToCodes)) { + if ($status->id && $substatus->id) { $marketplaceOrder->status_id = $status->id; $marketplaceOrder->substatus_id = $substatus->id; } diff --git a/erp24/api2/controllers/OrdersController.php b/erp24/api2/controllers/OrdersController.php index 88e270e9..8696d713 100644 --- a/erp24/api2/controllers/OrdersController.php +++ b/erp24/api2/controllers/OrdersController.php @@ -80,6 +80,7 @@ class OrdersController extends BaseController $orderGuid = $singleOrder['order_id']; $orderStatus = $singleOrder['status']; + $orderSellerId = $singleOrder['seller_id'] ?? null; $order = MarketplaceOrders::find() ->where(['guid' => $orderGuid]) ->one(); @@ -130,6 +131,12 @@ class OrdersController extends BaseController $status->code, $substatus->code ); + if (!$updateResult && $order->fake == 1) { + if ($status->id && $substatus->id) { + $order->status_id = $status->id; + $order->substatus_id = $substatus->id; + } + } } else { $updateResult = $data['status_update']; } @@ -149,11 +156,14 @@ class OrdersController extends BaseController Yii::error("Неверная структура updateResult: отсутствует ключ для магазина {$order->warehouse_guid}."); } } else { - if (!empty($orderStatus1CToCodes)) { + if ($status->id && $substatus->id) { $order->status_id = $status->id; $order->substatus_id = $substatus->id; } } + if($orderSellerId) { + $order->seller_id = $orderSellerId; + } $order->status_processing_1c = $statusId1C->id; if ($order->save()) { diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index 0364051d..f10ae786 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -1468,15 +1468,17 @@ class MarketplaceService 'substatus' => $newSubstatus, ] ]; + $result = null; // TODO добавление доставки "realDeliveryDate" $updateOrderStatusRequest = new UpdateOrderStatusRequest($data); try { $response = $apiInstance->updateOrderStatus($campaignId, $orderId, $updateOrderStatusRequest, $contentType); $order = $response->getOrder(); - return [$campaignId => [$order]]; + $result = [$campaignId => [$order]]; } catch (\Exception $e) { Yii::error("Ошибка изменения статуса: " . $e->getMessage()); } + return $result; } public static function getFlowwowOrdersFromMail( -- 2.39.5