Commit 72df3f8b by Vladislav

#20443 Загрузка и синхронизация изображений

1 parent 70cf0b8a
...@@ -109,7 +109,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -109,7 +109,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
WHERE dc.campaign_id is null AND c.manage=1 WHERE dc.campaign_id is null AND c.manage=1
"); ");
} }
$this->info('dictionary_campaigns successful!');
//грузим изображения которых по какой то причне нет в целевых. //грузим изображения которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
INSERT INTO goal_ad_images(ad_image_id, token_id, created_at, updated_at) INSERT INTO goal_ad_images(ad_image_id, token_id, created_at, updated_at)
...@@ -119,6 +119,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -119,6 +119,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_ad_images gai on ai.id = gai.ad_image_id and t.id = gai.token_id LEFT JOIN goal_ad_images gai on ai.id = gai.ad_image_id and t.id = gai.token_id
WHERE gai.id is null and gai.deleted_at is null WHERE gai.id is null and gai.deleted_at is null
"); ");
$this->info('goal_ad_images successful!');
//грузим наборы минус-фраз которых по какой то причне нет в целевых. //грузим наборы минус-фраз которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -129,6 +130,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -129,6 +130,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_negative_keyword_shared_sets gnkss on nkss.id = gnkss.negative_keyword_shared_set_id and t.id = gnkss.token_id LEFT JOIN goal_negative_keyword_shared_sets gnkss on nkss.id = gnkss.negative_keyword_shared_set_id and t.id = gnkss.token_id
WHERE gnkss.id is null and nkss.deleted_at is null WHERE gnkss.id is null and nkss.deleted_at is null
"); ");
$this->info('goal_negative_keyword_shared_sets successful!');
//грузим виртуальные визитки которых по какой то причне нет в целевых. //грузим виртуальные визитки которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -140,6 +142,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -140,6 +142,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_v_cards gvc on vc.id = gvc.v_card_id AND gvc.dictionary_campaign_id = dc.id LEFT JOIN goal_v_cards gvc on vc.id = gvc.v_card_id AND gvc.dictionary_campaign_id = dc.id
WHERE gvc.v_card_id is null WHERE gvc.v_card_id is null
"); ");
$this->info('goal_v_cards successful!');
//грузим группы которых по какой то причне нет в целевых. //грузим группы которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -151,6 +154,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -151,6 +154,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_ad_groups gag on a.id = gag.ad_group_id AND gag.dictionary_campaign_id=dc.id LEFT JOIN goal_ad_groups gag on a.id = gag.ad_group_id AND gag.dictionary_campaign_id=dc.id
WHERE gag.ad_group_id is null WHERE gag.ad_group_id is null
"); ");
$this->info('goal_ad_groups successful!');
//грузим связь наборов минус-фраз к группам которых по какой то причне нет в целевых. //грузим связь наборов минус-фраз к группам которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -166,6 +170,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -166,6 +170,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_ad_group_goal_negative_keyword_shared_sets gaggnkss on gnkss.id = gaggnkss.goal_negative_keyword_shared_set_id and gag.id = gaggnkss.goal_ad_group_id LEFT JOIN goal_ad_group_goal_negative_keyword_shared_sets gaggnkss on gnkss.id = gaggnkss.goal_negative_keyword_shared_set_id and gag.id = gaggnkss.goal_ad_group_id
WHERE gaggnkss.goal_negative_keyword_shared_set_id is null WHERE gaggnkss.goal_negative_keyword_shared_set_id is null
"); ");
$this->info('goal_ad_group_goal_negative_keyword_shared_sets successful!');
//грузим ключевые фразы которых по какой то причне нет в целевых. //грузим ключевые фразы которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -178,6 +183,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -178,6 +183,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_keywords gk on k.id = gk.keyword_id AND gk.goal_ad_group_id=gag.id LEFT JOIN goal_keywords gk on k.id = gk.keyword_id AND gk.goal_ad_group_id=gag.id
WHERE gk.keyword_id is null AND k.deleted_at is null WHERE gk.keyword_id is null AND k.deleted_at is null
"); ");
$this->info('goal_keywords successful!');
//грузим расширения которых по какой то причне нет в целевых. //грузим расширения которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -188,6 +194,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -188,6 +194,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_sitelinks gs on s.id = gs.sitelink_id and t.id = gs.token_id LEFT JOIN goal_sitelinks gs on s.id = gs.sitelink_id and t.id = gs.token_id
WHERE gs.sitelink_id is null AND gs.deleted_at is null WHERE gs.sitelink_id is null AND gs.deleted_at is null
"); ");
$this->info('goal_sitelinks successful!');
//грузим наборы быстрых ссылок которых по какой то причне нет в целевых. //грузим наборы быстрых ссылок которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -198,6 +205,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -198,6 +205,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_ad_extensions gae on ae.id = gae.ad_extension_id and t.id = gae.token_id LEFT JOIN goal_ad_extensions gae on ae.id = gae.ad_extension_id and t.id = gae.token_id
WHERE gae.ad_extension_id is null AND gae.deleted_at is null WHERE gae.ad_extension_id is null AND gae.deleted_at is null
"); ");
$this->info('goal_ad_extensions successful!');
//грузим объявления которых по какой то причне нет в целевых. //грузим объявления которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -217,16 +225,18 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -217,16 +225,18 @@ class DictionaryCampaignsSyncByCampaign extends Command
and (ad.sitelink_external_id is null or (ad.sitelink_external_id is not null and s.id is not null)) and (ad.sitelink_external_id is null or (ad.sitelink_external_id is not null and s.id is not null))
and (ad.v_card_external_id is null or (ad.v_card_external_id is not null and vc.id is not null)) and (ad.v_card_external_id is null or (ad.v_card_external_id is not null and vc.id is not null))
"); ");
$this->info('goal_advertisements successful!');
//обновляем связи целевых объявлений. //обновляем связи целевых объявлений.
DB::insert(" DB::update("
UPDATE goal_advertisements gad UPDATE goal_advertisements gad
INNER JOIN advertisements ad on ad.id = gad.advertisement_id INNER JOIN advertisements ad on ad.id = gad.advertisement_id
INNER JOIN ad_groups ag on ad.ad_group_id = ag.id INNER JOIN ad_groups ag on ad.ad_group_id = ag.id
INNER JOIN goal_ad_groups gag on ag.id = gag.ad_group_id INNER JOIN goal_ad_groups gag on ag.id = gag.ad_group_id and gad.dictionary_campaign_id = gag.dictionary_campaign_id
INNER JOIN dictionaries d on gag.dictionary_campaign_id = d.id INNER JOIN dictionary_campaigns dc on gad.dictionary_campaign_id = dc.id
INNER JOIN dictionaries d on dc.dictionary_id = d.id
LEFT JOIN v_cards vc on ad.v_card_external_id = vc.external_id LEFT JOIN v_cards vc on ad.v_card_external_id = vc.external_id
LEFT JOIN goal_v_cards gvc on vc.id = gvc.v_card_id and gag.dictionary_campaign_id = gvc.dictionary_campaign_id LEFT JOIN goal_v_cards gvc on vc.id = gvc.v_card_id and gad.dictionary_campaign_id = gvc.dictionary_campaign_id
LEFT JOIN sitelinks s on ad.sitelink_external_id = s.external_id LEFT JOIN sitelinks s on ad.sitelink_external_id = s.external_id
LEFT JOIN goal_sitelinks gs on s.id = gs.sitelink_id and gs.token_id = d.token_id LEFT JOIN goal_sitelinks gs on s.id = gs.sitelink_id and gs.token_id = d.token_id
...@@ -255,6 +265,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -255,6 +265,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
) )
) )
"); ");
$this->info('UPDATE goal_advertisements successful!');
//грузим связь объявлений к расширения которых по какой то причне нет в целевых. //грузим связь объявлений к расширения которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -270,9 +281,10 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -270,9 +281,10 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_advertisement_goal_ad_extensions gagae on gae.id = gagae.goal_ad_extension_id and ga.id = gagae.goal_advertisement_id LEFT JOIN goal_advertisement_goal_ad_extensions gagae on gae.id = gagae.goal_ad_extension_id and ga.id = gagae.goal_advertisement_id
WHERE gagae.goal_ad_extension_id is null WHERE gagae.goal_ad_extension_id is null
"); ");
$this->info('goal_advertisement_goal_ad_extensions successful!');
//Удаляем лишнии связи объявлений к расширениям. //Удаляем лишнии связи объявлений к расширениям.
DB::insert(" DB::delete("
DELETE goal_advertisement_goal_ad_extensions DELETE goal_advertisement_goal_ad_extensions
FROM goal_advertisement_goal_ad_extensions FROM goal_advertisement_goal_ad_extensions
INNER JOIN goal_advertisements ga on goal_advertisement_goal_ad_extensions.goal_advertisement_id = ga.id INNER JOIN goal_advertisements ga on goal_advertisement_goal_ad_extensions.goal_advertisement_id = ga.id
...@@ -280,6 +292,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -280,6 +292,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
INNER JOIN advertisements a on ga.advertisement_id = a.id INNER JOIN advertisements a on ga.advertisement_id = a.id
LEFT JOIN advertisement_ad_extensions aae on a.id = aae.advertisement_id and gae.ad_extension_id = aae.ad_extension_id LEFT JOIN advertisement_ad_extensions aae on a.id = aae.advertisement_id and gae.ad_extension_id = aae.ad_extension_id
WHERE aae.ad_extension_id is null"); WHERE aae.ad_extension_id is null");
$this->info('DELETE goal_advertisement_goal_ad_extensions successful!');
//грузим расширения которых по какой то причне нет в целевых. //грузим расширения которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -290,6 +303,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -290,6 +303,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_retargetinglists gt on r.id = gt.retargetinglist_id and t.id = gt.token_id LEFT JOIN goal_retargetinglists gt on r.id = gt.retargetinglist_id and t.id = gt.token_id
WHERE gt.retargetinglist_id is null AND gt.deleted_at is null WHERE gt.retargetinglist_id is null AND gt.deleted_at is null
"); ");
$this->info('goal_retargetinglists successful!');
//грузим условия ретаргетинга и подбора аудитории которых по какой то причне нет в целевых. //грузим условия ретаргетинга и подбора аудитории которых по какой то причне нет в целевых.
DB::insert(" DB::insert("
...@@ -304,6 +318,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -304,6 +318,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
LEFT JOIN goal_bid_modifiers gbm on bm.id = gbm.bid_modifier_id and gbm.dictionary_campaign_id = dc.id LEFT JOIN goal_bid_modifiers gbm on bm.id = gbm.bid_modifier_id and gbm.dictionary_campaign_id = dc.id
WHERE gbm.bid_modifier_id is null WHERE gbm.bid_modifier_id is null
"); ");
$this->info('goal_bid_modifiers successful!');
DictionaryCampaign::needSynced()->update([ DictionaryCampaign::needSynced()->update([
'synced_need' => null, 'synced_need' => null,
......
...@@ -42,7 +42,7 @@ class AdImage extends Model ...@@ -42,7 +42,7 @@ class AdImage extends Model
public function getImageDataAttribute() public function getImageDataAttribute()
{ {
return Http::get($this->original_url); return Http::get($this->original_url)->body();
} }
public function goalAdImages() public function goalAdImages()
......
...@@ -106,7 +106,7 @@ class AddAdImages extends DirectRequest ...@@ -106,7 +106,7 @@ class AddAdImages extends DirectRequest
$this->setParams([ $this->setParams([
'AdImages' => $this->goalAdImages->map(function (GoalAdImage $goalAdImage) { 'AdImages' => $this->goalAdImages->map(function (GoalAdImage $goalAdImage) {
return [ return [
'Name' => $goalAdImage->adImage->name, 'Name' => base64_encode($goalAdImage->adImage->imageData),
'ImageData' => $goalAdImage->adImage->imageData, 'ImageData' => $goalAdImage->adImage->imageData,
]; ];
})->toArray(), })->toArray(),
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddAdImagesDeletedAtColumn extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('ad_images', function (Blueprint $table) {
$table->softDeletes();
});
Schema::table('goal_ad_images', function (Blueprint $table) {
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!