]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
добавление seller_id
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 17 Jul 2025 07:52:19 +0000 (10:52 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 17 Jul 2025 07:52:19 +0000 (10:52 +0300)
erp24/api2/controllers/DataController.php
erp24/api2/controllers/OrdersController.php
erp24/services/MarketplaceService.php

index 29c7850a265b247c8849356eb22eea10ecf83fbe..995cff789bec67f05c1f3897caa83c90d890f457 100644 (file)
@@ -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;
                 }
index 88e270e9a3b500940ae791549db6fa2f4a198afc..8696d71373b0a49148e062dec34dd88802daa888 100644 (file)
@@ -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()) {
index 0364051d18cb8e925cf7d780d84e9da68d37361e..f10ae78617121f268d0f3f79f8a1552e69801050 100644 (file)
@@ -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(