Commit e6a18f39 by Vladislav

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

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