/**
  * @return \yii\db\ActiveQuery
  */
 public function getRivegauchePrices()
 {
     return $this->hasMany(RivegauchePrice::className(), ['article' => 'article']);
 }
 /**
  * @param Response $result
  */
 private function saveResult(Response $result)
 {
     $product = RivegaucheProduct::findOne(['article' => $result->getArticle()]);
     if (!$product) {
         $product = new RivegaucheProduct();
     }
     $product->attributes = $result->toArray();
     try {
         $rPrice = new RivegauchePrice();
         $rPrice->article = $result->getArticle();
         if ($result->getGoldPrice()) {
             $rPrice->gold_price = $result->getGoldPrice();
         }
         if ($result->getBluePrice()) {
             $rPrice->blue_price = $result->getBluePrice();
         }
         if ($result->getPrice()) {
             $rPrice->price = $result->getPrice();
         }
         $product->deleted_at = '0000-00-00 00:00:00';
         if ($product->save()) {
             if (!empty($rPrice->price) || !empty($rPrice->blue_price) || !empty($rPrice->gold_price)) {
                 $rPrice->save();
             }
         } else {
             \Yii::error(sprintf('Ошибка сохранения артикула R: %s data: %s', $result->getArticle(), json_encode($result->toArray())), 'cron');
         }
     } catch (\Exception $e) {
         \Yii::error(sprintf('Exception %s сохранения артикула R %s data: %s', $e->getMessage(), $result->getArticle(), json_encode($result->toArray())), 'cron');
     }
 }
 /**
  * @param $result
  * @param $link
  */
 private function saveResult($result, $link)
 {
     \Yii::info(sprintf('Сохраняем тело: %s ', json_encode($result)), 'cron');
     if (empty($result) || empty($result['link']) || empty($result['title']) || empty($result['category'])) {
         return;
     } else {
         \Yii::error('Ошибка сохранения артикула R: ' . json_encode($result), 'cron');
     }
     preg_match('/[0-9]+$/i', $result['link'], $data);
     $article = $data[0];
     unset($data);
     $product = RivegaucheProduct::findOne(['article' => $article]);
     if (!$product) {
         $product = new RivegaucheProduct();
     }
     $product->brand = $this->clearBrand($result);
     $product->title = $result['title'];
     $product->article = $article;
     $product->category = $link['category'];
     $product->group = $link['group'];
     $product->link = $result['link'];
     $product->sub_category = $link['sub_category'];
     $product->image_link = !empty($result['image_link']) ? $result['image_link'] : '';
     $product->description = !empty($result['description']) ? $result['description'] : '';
     $product->showcases_offer = $result['showcases_offer'];
     $product->showcases_new = $result['showcases_new'];
     $product->showcases_exclusive = $result['showcases_exclusive'];
     $product->showcases_compliment = $result['showcases_compliment'];
     $product->showcases_bestsellers = $result['showcases_bestsellers'];
     $product->showcases_expertiza = $result['showcases_expertiza'];
     $product->gold_price = $this->getPrice($result['price']['gold_price']);
     $product->blue_price = $this->getPrice($result['price']['blue_price']);
     $product->price = $this->getPrice($result['price']['price']);
     try {
         $rPrice = new RivegauchePrice();
         $rPrice->article = $article;
         $rPrice->gold_price = $this->getPrice($result['price']['gold_price']);
         $rPrice->blue_price = $this->getPrice($result['price']['blue_price']);
         $rPrice->price = $this->getPrice($result['price']['price']);
         if ($product->save()) {
             $rPrice->save();
         } else {
             \Yii::error('Ошибка сохранения артикула R: ' . json_encode($result), 'cron');
         }
     } catch (\Exception $e) {
         \Yii::error(sprintf('Exception %s сохранения артикула R: %s', $e->getMessage(), json_encode($result)), 'cron');
     }
 }