LogService::apiErrorLog(Json::encode($err, JSON_UNESCAPED_UNICODE));
return $this->asJson($err);
}
-
+ $debug = false;
+ if (isset($data['status_update']) || is_array($data['status_update'])) {
+ $debug = true;
+ }
$mess = [];
// статусы маркетплейса
in_array($statusId1C->status, ['Отказ', 'Собрано']) &&
$order->marketplace_id == 2
) {
- $updateResult = MarketplaceService::updateOrderStatus(
- $order->warehouse_guid,
- $order->marketplace_order_id,
- $orderStatus1CToCodes[0],
- $orderStatus1CToCodes[1]
- );
- $mess["message_status_update"] = $updateResult;
+ if (!$debug) {
+ $updateResult = MarketplaceService::updateOrderStatus(
+ $order->warehouse_guid,
+ $order->marketplace_order_id,
+ $orderStatus1CToCodes[0],
+ $orderStatus1CToCodes[1]
+ );
+ } else {
+ $updateResult = $data['status_update'];
+ }
+ $mess["message_status_update"] = $updateResult;
+ if (isset($updateResult[$order->warehouse_guid]) && is_array($updateResult[$order->warehouse_guid])) {
+ foreach ($updateResult[$order->warehouse_guid] as $updatedOrder) {
+ if ($updatedOrder['id'] == $order->marketplace_order_id) {
+ if (isset($statuses[$updatedOrder['status']]) && isset($statuses[$updatedOrder['substatus']])) {
+ $order->status_id = $statuses[$updatedOrder['status']];
+ $order->substatus_id = $statuses[$updatedOrder['substatus']];
+ } else {
+ Yii::error("Не найдены id для статусов: {$updatedOrder['status']} или {$updatedOrder['substatus']}.");
+ }
+ }
+ }
+ } else {
+ Yii::error("Неверная структура updateResult: отсутствует ключ для магазина {$order->warehouse_guid}.");
+ }
} else {
if (!empty($orderStatus1CToCodes)) {
$order->status_id = $statusId;