Commit e6a18f39 by Vladislav

#20794 Сделать чтобы в целевых РК оставалась одна карточка

1 parent 5ca9e0e4
......@@ -84,7 +84,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
FROM v_cards vc
INNER JOIN campaigns c on vc.campaign_id = c.id
INNER JOIN dictionary_campaigns dc on c.id = dc.campaign_id
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 and gvc.deleted_at is null
WHERE gvc.v_card_id is null
");
$this->info('goal_v_cards successful!');
......@@ -147,7 +147,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
SELECT ae.id, t.id, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM ad_extensions ae
INNER JOIN tokens t on t.type != '" . Tokens::MAIN . "'
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 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!');
......@@ -163,7 +163,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
INNER JOIN dictionaries d on gag.dictionary_campaign_id = d.id
LEFT JOIN goal_advertisements gad on ad.id = gad.advertisement_id AND gad.goal_ad_group_id=gag.id and gad.deleted_at is null
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 gag.dictionary_campaign_id = gvc.dictionary_campaign_id and gvc.deleted_at is null
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
WHERE gad.advertisement_id is null and ad.state != '" . Advertisement::STATE_ARCHIVED . "}' and ad.archived_need is null and ad.campaign_id is not null
......@@ -221,7 +221,7 @@ class DictionaryCampaignsSyncByCampaign extends Command
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 goal_v_cards gvc on vc.id = gvc.v_card_id and gad.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 and gvc.deleted_at is null
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
......@@ -233,7 +233,8 @@ class DictionaryCampaignsSyncByCampaign extends Command
gad.updated_need = CURRENT_TIMESTAMP,
gad.updated_at = CURRENT_TIMESTAMP
WHERE (
WHERE gad.deleted_at is null and
(
(
gad.goal_sitelink_id != gs.id
or
......@@ -260,9 +261,9 @@ class DictionaryCampaignsSyncByCampaign extends Command
SELECT ga.id, gae.id, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM advertisement_ad_extensions aae
INNER JOIN ad_extensions ae on aae.ad_extension_id = ae.id and ae.deleted_at is null
INNER JOIN goal_ad_extensions gae on ae.id = gae.ad_extension_id
INNER JOIN goal_ad_extensions gae on ae.id = gae.ad_extension_id and gae.deleted_at is null
INNER JOIN advertisements a on aae.advertisement_id = a.id and a.deleted_at is null
INNER JOIN goal_advertisements ga on a.id = ga.advertisement_id
INNER JOIN goal_advertisements ga on a.id = ga.advertisement_id and ga.deleted_at is null
INNER JOIN dictionary_campaigns dc on ga.dictionary_campaign_id = dc.id
INNER JOIN dictionaries d on dc.dictionary_id = d.id and d.token_id = gae.token_id
LEFT JOIN goal_advertisement_goal_ad_extensions gagae on gae.id = gagae.goal_ad_extension_id and ga.id = gagae.goal_advertisement_id
......@@ -284,8 +285,8 @@ class DictionaryCampaignsSyncByCampaign extends Command
DB::delete("
DELETE 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_ad_extensions gae on goal_advertisement_goal_ad_extensions.goal_ad_extension_id = gae.id
INNER JOIN goal_advertisements ga on goal_advertisement_goal_ad_extensions.goal_advertisement_id = ga.id and ga.deleted_at is null
INNER JOIN goal_ad_extensions gae on goal_advertisement_goal_ad_extensions.goal_ad_extension_id = gae.id and gae.deleted_at is null
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
WHERE aae.ad_extension_id is null");
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!