Commit 0742f076 by Vladislav

#19499 Загрузка модификаторов ставок

1 parent 4e80940c
...@@ -4,6 +4,7 @@ namespace App\Console\Commands; ...@@ -4,6 +4,7 @@ namespace App\Console\Commands;
use App\Models\Campaigns; use App\Models\Campaigns;
use App\Models\Tokens; use App\Models\Tokens;
use App\Service\Requests\Direct\GetBidModifiers;
use App\Service\Requests\Direct\GetCampaigns; use App\Service\Requests\Direct\GetCampaigns;
use Illuminate\Console\Command; use Illuminate\Console\Command;
...@@ -63,11 +64,20 @@ class CampaignsLoadUpdated extends Command ...@@ -63,11 +64,20 @@ class CampaignsLoadUpdated extends Command
->get(); ->get();
foreach ($tokens as $token) { foreach ($tokens as $token) {
$ids = $token->dictionaryCampaignsEnabledForExternalSynchronizedUpdatedSelf
->pluck('external_id')->toArray();
$request = new GetCampaigns(); $request = new GetCampaigns();
$request->setToken($token) $request->setToken($token)
->call([ ->call([
'ids' => $token->dictionaryCampaignsEnabledForExternalSynchronizedUpdatedSelf 'ids' => $ids,
->pluck('external_id')->toArray(), ]);
$request = new GetBidModifiers();
$request->setToken($token)
->call([
'CampaignIds' => $ids,
]); ]);
} }
......
...@@ -232,7 +232,7 @@ class DictionaryCampaignsSyncByCampaign extends Command ...@@ -232,7 +232,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
INNER JOIN campaigns c on bm.campaign_id = c.id INNER JOIN campaigns c on bm.campaign_id = c.id
INNER JOIN dictionary_campaigns dc on dc.campaign_id = c.id INNER JOIN dictionary_campaigns dc on dc.campaign_id = c.id
LEFT JOIN ad_groups ag on c.id = ag.campaign_id AND bm.ad_group_id = ag.id LEFT JOIN ad_groups ag on c.id = ag.campaign_id AND bm.ad_group_id = ag.id
LEFT JOIN goal_ad_groups gag on dc.dictionary_id = gag.dictionary_campaign_id AND ag.id = gag.ad_group_id LEFT JOIN goal_ad_groups gag on dc.id = gag.dictionary_campaign_id AND ag.id = gag.ad_group_id
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
"); ");
......
...@@ -10,6 +10,7 @@ use App\Console\Commands\AdGroupsUpdate; ...@@ -10,6 +10,7 @@ use App\Console\Commands\AdGroupsUpdate;
use App\Console\Commands\AdvertisementsAdd; use App\Console\Commands\AdvertisementsAdd;
use App\Console\Commands\AdvertisementsLoadUpdated; use App\Console\Commands\AdvertisementsLoadUpdated;
use App\Console\Commands\AdvertisementsUpdate; use App\Console\Commands\AdvertisementsUpdate;
use App\Console\Commands\BidModifiersAdd;
use App\Console\Commands\CampaignsAdd; use App\Console\Commands\CampaignsAdd;
use App\Console\Commands\CampaignsCheckChange; use App\Console\Commands\CampaignsCheckChange;
use App\Console\Commands\CampaignsCheckUpdatedChildren; use App\Console\Commands\CampaignsCheckUpdatedChildren;
...@@ -86,6 +87,8 @@ class Kernel extends ConsoleKernel ...@@ -86,6 +87,8 @@ class Kernel extends ConsoleKernel
$schedule->command(AdGroupsAdd::class)->hourlyAt(30); $schedule->command(AdGroupsAdd::class)->hourlyAt(30);
$schedule->command(AdGroupsUpdate::class)->hourlyAt(30); $schedule->command(AdGroupsUpdate::class)->hourlyAt(30);
$schedule->command(BidModifiersAdd::class)->hourlyAt(35);
$schedule->command(KeywordsAdd::class)->hourlyAt(40); $schedule->command(KeywordsAdd::class)->hourlyAt(40);
$schedule->command(KeywordsUpdate::class)->hourlyAt(40); $schedule->command(KeywordsUpdate::class)->hourlyAt(40);
$schedule->command(KeywordsDelete::class)->hourlyAt(40); $schedule->command(KeywordsDelete::class)->hourlyAt(40);
......
...@@ -84,7 +84,7 @@ class GetBidModifiers extends DirectRequest ...@@ -84,7 +84,7 @@ class GetBidModifiers extends DirectRequest
->get() ->get()
->keyBy('external_id'); ->keyBy('external_id');
$adGroups = AdGroup::whereIn('external_id', array_keys($campaigns_external_ids)) $adGroups = AdGroup::whereIn('external_id', array_keys($ad_groups_external_ids))
->get() ->get()
->keyBy('external_id'); ->keyBy('external_id');
} else { } else {
...@@ -100,8 +100,13 @@ class GetBidModifiers extends DirectRequest ...@@ -100,8 +100,13 @@ class GetBidModifiers extends DirectRequest
continue; continue;
/* @var $adGroup AdGroup|null */ /* @var $adGroup AdGroup|null */
$adGroup = $adGroups->get((string)$bid_modifier['AdGroupId']); $adGroup = null;
$ad_group_external_id = (string)$bid_modifier['AdGroupId'];
if ($ad_group_external_id) {
$adGroup = $adGroups->get($ad_group_external_id);
}
$external_id = (string)$bid_modifier['Id']; $external_id = (string)$bid_modifier['Id'];
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!