use Yii;
use yii\base\Action;
-use yii\helpers\ArrayHelper;
use yii\helpers\Json;
use yii_app\records\MarketplacePriority;
-use yii_app\records\Products1c;
-use yii_app\records\ProductsClass;
+use yii_app\services\MarketplaceService;
class PriorityAction extends Action
{
return 'ok ' . $guid . ' ' . $paramName . ' ' . $value;
}
- $productsClass = ArrayHelper::getColumn(ProductsClass::find()->where([
- 'tip' => [ProductsClass::MARKETPLACE, ProductsClass::MARKETPLACE_ADDITIONAL]
- ])->all(), 'category_id');
- $products = ArrayHelper::map(Products1c::find()->where(['parent_id' => $productsClass])->all(), 'id', 'name');
+ $products = MarketplaceService::getMarketplaceProducts();
$marketplacePriorityMap = [];
foreach (MarketplacePriority::find()->all() as $mp) {
use GuzzleHttp;
use yii_app\records\MatrixErp;
use yii_app\records\Products1c;
-use yii_app\records\ProductsClass;
+use yii_app\services\MarketplaceService;
class YandexMarketController extends Controller
{
// ];
// return $apiInstance->updateStocks(109969229, $update_stocks_request);
- $products = Products1c::find()->alias('p')->leftJoin('products_class pc', 'p.parent_id = pc.category_id')
- ->where(['pc.tip' => [ProductsClass::MARKETPLACE, ProductsClass::MARKETPLACE_ADDITIONAL]])->all();
+ $products = MarketplaceService::getMarketplaceProducts();
+
$matrixErp = MatrixErp::find()->where(['guid' => ArrayHelper::getColumn($products, 'id')])->all();
$matrixErpByGuid = [];
foreach ($matrixErp as $matrix) {
use Yii;
use yii\base\DynamicModel;
-use yii\helpers\ArrayHelper;
use yii\helpers\Json;
use yii_app\records\MatrixErp;
use yii_app\records\MatrixErpMedia;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii_app\records\Products1c;
-use yii_app\records\ProductsClass;
+use yii_app\services\MarketplaceService;
/**
* MatrixErpController implements the CRUD actions for MatrixErp model.
$existingMapGuidGroupNames[$existing->guid][] = $existing->group_name;
};
- $productsClass = ArrayHelper::getColumn(ProductsClass::find()->where([
- 'tip' => [ProductsClass::MARKETPLACE, ProductsClass::MARKETPLACE_ADDITIONAL]
- ])->all(), 'category_id');
- $products = Products1c::find()->where(['parent_id' => $productsClass])->all();
+ $products = MarketplaceService::getMarketplaceProducts();
$newCnt = 0;
foreach ($products as $product) {
return $distribution;
}
+ public static function getMarketplaceProducts() {
+ $productsGroup = ProductsClass::find()
+ ->where(['tip' => [ProductsClass::MARKETPLACE, ProductsClass::MARKETPLACE_ADDITIONAL]])
+ ->select('category_id')
+ ->asArray()
+ ->column();
+
+ $products = Products1c::find()->where(['parent_id' => $productsGroup])->all();
+ return $products;
+ }
/**
* Статический метод для получения всей информации по продуктам, которая необходима для создания фида.
*