]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-148] доработка яндекс маркетплейса 2
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 12 Nov 2024 12:53:30 +0000 (15:53 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 12 Nov 2024 12:53:30 +0000 (15:53 +0300)
erp24/commands/MarketplaceController.php

index ff2e87e5cc61ff74e02f0ebda8ea70bb35651aaa..0ed5d046561cfed87ed86280c539eb3b3f16be01 100644 (file)
@@ -4,6 +4,7 @@ namespace yii_app\commands;
 
 use yii\console\Controller;
 use yii\helpers\ArrayHelper;
+use yii_app\records\MarketplaceStore;
 use yii_app\records\MatrixErp;
 use yii_app\records\Products1c;
 use yii_app\records\ProductsClass;
@@ -33,26 +34,33 @@ class MarketplaceController extends Controller
             ];
         }
 
-        $apiInstance = new Api\HiddenOffersApi(new GuzzleHttp\Client(), $config);
-        $add_hidden_offers_request = new Model\AddHiddenOffersRequest([ "hiddenOffers" => $hiddenOfferings ]);
-        var_dump($apiInstance->addHiddenOffers(109969229 /* $campaignId */, $add_hidden_offers_request));
-
-        $apiInstance = new Api\StocksApi(new GuzzleHttp\Client(), $config);
-        foreach ($infoForMarketplace as $campaignId => $guidsWithCnt) {
-            $skus = [];
-            foreach ($guidsWithCnt as $guid => $cnt) {
-                $skus [] = [
-                    "sku" => $guid,
-                    "items" => [
-                        [
-                            "count" => $cnt,
-                            "updatedAt" => date("c"),
+        $campaignIds = ArrayHelper::map(MarketplaceStore::find()->where(['marketplace_id' => 2])->all(), 'warehouse_guid', 'guid');
+
+        foreach (array_keys($campaignIds) as $campaignId) {
+            $apiInstance = new Api\HiddenOffersApi(new GuzzleHttp\Client(), $config);
+            $add_hidden_offers_request = new Model\AddHiddenOffersRequest(["hiddenOffers" => $hiddenOfferings]);
+            var_dump($apiInstance->addHiddenOffers($campaignId, $add_hidden_offers_request)); // 109969229
+
+            $apiInstance = new Api\StocksApi(new GuzzleHttp\Client(), $config);
+            foreach ($infoForMarketplace as $storeId => $guidsWithCnt) {
+                if ($campaignIds[$campaignId] != $storeId) {
+                    continue;
+                }
+                $skus = [];
+                foreach ($guidsWithCnt as $guid => $cnt) {
+                    $skus [] = [
+                        "sku" => $guid,
+                        "items" => [
+                            [
+                                "count" => $cnt,
+                                "updatedAt" => date("c"),
+                            ]
                         ]
-                    ]
-                ];
+                    ];
+                }
+                $update_stocks_request = new Model\UpdateStocksRequest(["skus" => $skus]);
+                var_dump($apiInstance->updateStocks($campaignId, $update_stocks_request)); // 109969229
             }
-            $update_stocks_request = new Model\UpdateStocksRequest([ "skus" => $skus ]);
-            var_dump($apiInstance->updateStocks(109969229 /* $campaignId */, $update_stocks_request));
         }
     }
 }
\ No newline at end of file