Commit 5b6cc62d by Евгений

Улучшение #20444

Загрузка и синхронизация условий нацеливания на аудиторию
1 parent 8b8d77fc
......@@ -306,6 +306,9 @@ class DictionaryCampaignsSyncByCampaign extends Command
$this->info('goal_retargetinglists successful!');
//грузим условия нацеливания на аудиторию которых по какой то причне нет в целевых.
//грузим те, у которых есть ретаргетинг. Без него пока не рассмтариваем
//будут те, где он не указан дорабоатем. Это будет те, где есть interest
//таким бразом нацеливание перенесется только после того, как выгрузится ретаргетинг
DB::insert("
INSERT INTO goal_audience_targets(dictionary_campaign_external_id, dictionary_campaign_id,
goal_ad_group_external_id, goal_ad_group_id, goal_retargetinglist_external_id, goal_retargetinglist_id,
......@@ -315,14 +318,14 @@ class DictionaryCampaignsSyncByCampaign extends Command
INNER JOIN campaigns c on aut.campaign_id = c.id
INNER JOIN dictionary_campaigns dc on dc.campaign_id = c.id
INNER JOIN dictionaries d on dc.dictionary_id = d.id
LEFT JOIN retargetinglists r on aut.retargetinglist_id = r.id
LEFT JOIN goal_retargetinglists gr on r.id = gr.retargetinglist_id AND d.token_id = gr.token_id
INNER JOIN retargetinglists r on aut.retargetinglist_external_id = r.external_id
INNER JOIN goal_retargetinglists gr on r.id = gr.retargetinglist_id AND d.token_id = gr.token_id
LEFT JOIN ad_groups ag on c.id = ag.campaign_id AND aut.ad_group_id = ag.id
LEFT JOIN goal_ad_groups gag on dc.id = gag.dictionary_campaign_id AND ag.id = gag.ad_group_id
LEFT JOIN goal_audience_targets gaut on aut.id = gaut.audience_target_id and gaut.dictionary_campaign_id = dc.id
WHERE gaut.audience_target_id is null
");
$this->info('goal_bid_modifiers successful!');
$this->info('goal_audience_targets successful!');
//грузим условия ретаргетинга и подбора аудитории которых по какой то причне нет в целевых.
DB::insert("
......
......@@ -71,6 +71,9 @@ class Kernel extends ConsoleKernel
$schedule->command(CampaignsCheckChange::class)->hourlyAt(5);
$schedule->command(CampaignsLoadUpdated::class)->hourlyAt(10);
$schedule->command(CampaignsCheckUpdatedChildren::class)->hourlyAt(10);
//будет выгружено после того, как будут выгруены листы ретаргетинга и обновлено с учетом
//этого таблица целвых аудиториц нацеливания
$schedule->command(AudienceTargetsAdd::class)->hourlyAt(10);
$schedule->command(RetargetinglistsLoad::class)->hourlyAt(5);
$schedule->command(RetargetinglistsUpdate::class)->hourlyAt(10);
......@@ -103,8 +106,6 @@ class Kernel extends ConsoleKernel
$schedule->command(AdGroupsAdd::class)->hourlyAt(35);
$schedule->command(AdGroupsUpdate::class)->hourlyAt(35);
$schedule->command(RetargetinglistsAdd::class)->hourlyAt(40);
$schedule->command(AudienceTargetsAdd::class)->hourlyAt(45);
$schedule->command(BidModifiersDelete::class)->hourlyAt(30);
$schedule->command(BidModifiersAdd::class)->hourlyAt(35);
......
......@@ -134,14 +134,14 @@ class GetAudienceTargets extends DirectRequest
continue;
}
if ($retargetinglist_external_id) {
/* @var $retargetinglist Retargetinglist|null */
$retargetinglist = $retargetinglists->get($retargetinglist_external_id);
if (!$retargetinglist) {
continue;
}
}
// if ($retargetinglist_external_id) {
// /* @var $retargetinglist Retargetinglist|null */
// $retargetinglist = $retargetinglists->get($retargetinglist_external_id);
//
// if (!$retargetinglist) {
// continue;
// }
// }
$interest_external_id = (string)$audience_target['InterestId'];
......@@ -151,9 +151,9 @@ class GetAudienceTargets extends DirectRequest
'ad_group_id' => $adGroup->getKey(),
'campaign_external_id' => $campaign->external_id,
'campaign_id' => $campaign->getKey(),
'retargetinglist_external_id' => $retargetinglist_external_id ? $retargetinglist->external_id : null,
'retargetinglist_id' => $retargetinglist_external_id ? $retargetinglist->getKey() : null,
'interest_external_id' => $interest_external_id ? $interest_external_id : null,
'retargetinglist_external_id' => $retargetinglist_external_id ?? null,
// 'retargetinglist_id' => $retargetinglist_external_id ? $retargetinglist->getKey() : null,
'interest_external_id' => $interest_external_id ?? null,
'context_bid' => (string)$audience_target['ContextBid'],
'strategy_priority' => $audience_target['StrategyPriority'],
];
......@@ -191,9 +191,9 @@ class GetAudienceTargets extends DirectRequest
"ContextBid", "StrategyPriority",
],
'SelectionCriteria' => [
'States' => [
"ON", "SUSPENDED",
],
// 'States' => [
// "ON", "SUSPENDED",
// ],
]
];
if (isset($filter['Ids'])) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!