Commit b952a862 by Vladislav

fix write log

1 parent 0a8bf962
Showing with 1013 additions and 1177 deletions
...@@ -43,7 +43,7 @@ class ProcessCallLimitedAPI implements ShouldQueue//, ShouldBeUnique ...@@ -43,7 +43,7 @@ class ProcessCallLimitedAPI implements ShouldQueue//, ShouldBeUnique
$objects = $limits->countObjectsLimit($this->api); $objects = $limits->countObjectsLimit($this->api);
if (!$objects) { if (!$objects) {
//нет свободных баллов, замораживаем до следующего часа //нет свободных баллов, замораживаем до следующего часа
Log::debug('Нет баллов? ' . $objects . ' ' . $this->api->getService() . ' ' . $this->api->getMethod()); Log::debug("Нет свободных баллов, замораживаем до следующего часа. token_id {$this->api->getToken()->getKey()}, объектов {$this->api->getObjectsCount()} {$this->api->getService()} {$this->api->getMethod()}");
$this->reRunHour(); $this->reRunHour();
return; return;
} }
...@@ -51,13 +51,13 @@ class ProcessCallLimitedAPI implements ShouldQueue//, ShouldBeUnique ...@@ -51,13 +51,13 @@ class ProcessCallLimitedAPI implements ShouldQueue//, ShouldBeUnique
try{ try{
//резервируем на это количетсво //резервируем на это количетсво
$limit = $limits->getSpent($objects, $this->api); $limit = $limits->getSpent($objects, $this->api);
Log::debug('Резервируем баллы ' . $limit . ' на объекты ' . $objects . ' ' . $this->api->getService() . ' ' . $this->api->getMethod()); Log::debug("Резервируем баллы {$limit}, token_id {$this->api->getToken()->getKey()}, на объекты {$objects} {$this->api->getService()} {$this->api->getMethod()}");
$limitId = $limits->doRezerv($this->api, $objects); $limitId = $limits->doRezerv($this->api, $objects);
}catch(\Exception $e){ }catch(\Exception $e){
//нет свободных баллов, замораживаем до следующего часа //нет свободных баллов, замораживаем до следующего часа
Log::debug(''); Log::debug('');
Log::debug('Нет свободных баллов, замораживаем до следующего часа'); Log::debug('Нет свободных баллов Exception, замораживаем до следующего часа');
Log::debug($e->getMessage()); Log::debug($e->getMessage());
Log::debug(''); Log::debug('');
$this->reRunHour(); $this->reRunHour();
......
...@@ -179,6 +179,11 @@ class GoalKeyword extends Pivot ...@@ -179,6 +179,11 @@ class GoalKeyword extends Pivot
return $this->belongsTo(Keyword::class, 'keyword_id'); return $this->belongsTo(Keyword::class, 'keyword_id');
} }
public function goalAdGroup()
{
return $this->belongsTo(GoalAdGroup::class, 'goal_ad_group_id');
}
public function dictionaryCampaign() public function dictionaryCampaign()
{ {
return $this->belongsTo(DictionaryCampaign::class, 'dictionary_campaign_id'); return $this->belongsTo(DictionaryCampaign::class, 'dictionary_campaign_id');
......
...@@ -50,41 +50,36 @@ class AddAdExtensions extends DirectRequest ...@@ -50,41 +50,36 @@ class AddAdExtensions extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalAdExtension = $this->goalAdExtensions->get($key);
if (!isset($add_result['Id'])) { foreach ($response['result']['AddResults'] as $key => $add_result) {
Log::debug("AddAdExtension, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['AdExtensions'][$key]);
GoalAdExtension::where('id', $goalAdExtension->getKey()) $goalAdExtension = $this->goalAdExtensions->get($key);
->update([
'reserve_create_at' => null,
]);
continue; if (!isset($add_result['Id'])) {
} Log::debug("AddAdExtension, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
$external_id = (string)$add_result['Id']; Log::debug($this->getParams()['AdExtensions'][$key]);
GoalAdExtension::where('id', $goalAdExtension->getKey()) GoalAdExtension::where('id', $goalAdExtension->getKey())
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
GoalAdExtension::where('id', $goalAdExtension->getKey())
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} }
......
...@@ -49,57 +49,52 @@ class AddAdGroups extends DirectRequest ...@@ -49,57 +49,52 @@ class AddAdGroups extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalAdGroup = $this->goalAdGroups->get($key);
if (!isset($add_result['Id'])) { foreach ($response['result']['AddResults'] as $key => $add_result) {
Log::debug("AddAdGroup, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['AdGroups'][$key]);
GoalAdGroup::where('id', $goalAdGroup->getKey()) $goalAdGroup = $this->goalAdGroups->get($key);
->update([
'reserve_create_at' => null,
]);
continue; if (!isset($add_result['Id'])) {
} Log::debug("AddAdGroup, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
$external_id = (string)$add_result['Id']; Log::debug($this->getParams()['AdGroups'][$key]);
GoalAdGroup::where('id', $goalAdGroup->getKey()) GoalAdGroup::where('id', $goalAdGroup->getKey())
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$goalAdGroup->goalKeywords()->update([ continue;
'goal_ad_group_external_id' => $external_id, }
]);
$goalAdGroup->goalAdvertisements()->update([ $external_id = (string)$add_result['Id'];
'goal_ad_group_external_id' => $external_id,
]);
$goalAdGroup->goalBidModifiers()->update([ GoalAdGroup::where('id', $goalAdGroup->getKey())
'goal_ad_group_external_id' => $external_id, ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]); ]);
$goalAdGroup->goalAudienceTargets()->update([ $goalAdGroup->goalKeywords()->update([
'goal_ad_group_external_id' => $external_id, 'goal_ad_group_external_id' => $external_id,
]); ]);
$goalAdGroup->goalAdvertisements()->update([
'goal_ad_group_external_id' => $external_id,
]);
$goalAdGroup->goalBidModifiers()->update([
'goal_ad_group_external_id' => $external_id,
]);
$goalAdGroup->goalAudienceTargets()->update([
'goal_ad_group_external_id' => $external_id,
]);
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -47,41 +47,36 @@ class AddAdImages extends DirectRequest ...@@ -47,41 +47,36 @@ class AddAdImages extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalAdImage = $this->goalAdImages->get($key);
if (!isset($add_result['AdImageHash'])) {
Log::debug("AddAdImage, empty AdImageHash");
Log::debug($add_result);
Log::debug($this->getParams()['AdImages'][$key]['Name']);
$goalAdImage->where('id', $goalAdImage->getKey()) foreach ($response['result']['AddResults'] as $key => $add_result) {
->update([
'reserve_create_at' => null,
]);
continue; $goalAdImage = $this->goalAdImages->get($key);
}
$hash = (string)$add_result['AdImageHash']; if (!isset($add_result['AdImageHash'])) {
Log::debug("AddAdImage, empty AdImageHash, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['AdImages'][$key]['Name']);
$goalAdImage->where('id', $goalAdImage->getKey()) $goalAdImage->where('id', $goalAdImage->getKey())
->update([ ->update([
'hash' => $hash,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $hash = (string)$add_result['AdImageHash'];
throw $e;
$goalAdImage->where('id', $goalAdImage->getKey())
->update([
'hash' => $hash,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} }
......
...@@ -50,71 +50,66 @@ class AddAds extends DirectRequest ...@@ -50,71 +50,66 @@ class AddAds extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) { foreach ($response['result']['AddResults'] as $key => $add_result) {
/* @var $goalAd GoalAdvertisement|Advertisement|\stdClass */
$goalAd = $this->goalAds->get($key);
if (!isset($add_result['Id'])) {
if (
isset($add_result['Errors'][0]['Code'])
&&
$add_result['Errors'][0]['Code'] == 8800
&&
isset($add_result['Errors'][0]['Details'])
&&
$add_result['Errors'][0]['Details'] === 'Ad group not found'
) {
if ($this->getToken()->isMain()) {
Advertisement::where('id', $goalAd->id)
->forceDelete();
} else {
$model = GoalAdvertisement::with('goalAdGroup')->firstWhere('id', $goalAd->id);
if ($model) {
if ($model->goalAdGroup) {
$model->goalAdGroup->delete();
}
$model->forceDelete();
}
}
continue; /* @var $goalAd GoalAdvertisement|Advertisement|\stdClass */
$goalAd = $this->goalAds->get($key);
} if (!isset($add_result['Id'])) {
Log::debug("AddAds, empty Id"); if (
Log::debug($add_result); isset($add_result['Errors'][0]['Code'])
Log::debug($this->getParams()['Ads'][$key]); &&
$add_result['Errors'][0]['Code'] == 8800
&&
isset($add_result['Errors'][0]['Details'])
&&
$add_result['Errors'][0]['Details'] === 'Ad group not found'
) {
GoalAdvertisement::whereId($goalAd->id) if ($this->getToken()->isMain()) {
->update([ Advertisement::where('id', $goalAd->id)
'reserve_create_at' => null, ->forceDelete();
]); } else {
$model = GoalAdvertisement::with('goalAdGroup')->firstWhere('id', $goalAd->id);
if ($model) {
if ($model->goalAdGroup) {
$model->goalAdGroup->delete();
}
$model->forceDelete();
}
}
continue; continue;
} }
$external_id = (string)$add_result['Id']; Log::debug("AddAds, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['Ads'][$key]);
GoalAdvertisement::whereId($goalAd->id) GoalAdvertisement::whereId($goalAd->id)
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
GoalAdvertisement::whereId($goalAd->id)
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} }
......
...@@ -48,42 +48,37 @@ class AddAudienceTargets extends DirectRequest ...@@ -48,42 +48,37 @@ class AddAudienceTargets extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalAudienceTarget = $this->goalAudienceTargets->get($key);
if (!isset($add_result['Id'])) { foreach ($response['result']['AddResults'] as $key => $add_result) {
Log::debug("AddAudienceTarget, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['AudienceTargets'][$key]);
$goalAudienceTarget = $this->goalAudienceTargets->get($key);
GoalAudienceTarget::where('id', $goalAudienceTarget->getKey()) if (!isset($add_result['Id'])) {
->update([ Log::debug("AddAudienceTarget, empty Id, token_id {$this->getToken()->getKey()}");
'reserve_create_at' => null, Log::debug($add_result);
]); Log::debug($this->getParams()['AudienceTargets'][$key]);
continue;
}
$external_id = (string)$add_result['Id'];
GoalAudienceTarget::where('id', $goalAudienceTarget->getKey()) GoalAudienceTarget::where('id', $goalAudienceTarget->getKey())
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
GoalAudienceTarget::where('id', $goalAudienceTarget->getKey())
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} }
......
...@@ -47,47 +47,42 @@ class AddBidModifiers extends DirectRequest ...@@ -47,47 +47,42 @@ class AddBidModifiers extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
/* @var $goalBidModifier \stdClass */ foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalBidModifier = $this->goalBidModifiers->get($key);
$ids = json_decode($goalBidModifier->ids); /* @var $goalBidModifier \stdClass */
$goalBidModifier = $this->goalBidModifiers->get($key);
if (!isset($add_result['Ids'])) { $ids = json_decode($goalBidModifier->ids);
Log::debug("AddBidModifiers, empty Ids");
Log::debug($add_result);
Log::debug($this->getParams()['BidModifiers'][$key]);
GoalBidModifier::whereIn('id', $ids) if (!isset($add_result['Ids'])) {
->update([ Log::debug("AddBidModifiers, empty Ids, token_id {$this->getToken()->getKey()}");
'reserve_create_at' => null, Log::debug($add_result);
]); Log::debug($this->getParams()['BidModifiers'][$key]);
continue; GoalBidModifier::whereIn('id', $ids)
} ->update([
'reserve_create_at' => null,
]);
foreach ($add_result['Ids'] as $id_key => $external_id) { continue;
$external_id = (string)$external_id; }
$id = $ids[$id_key];
GoalBidModifier::where('id', $id) foreach ($add_result['Ids'] as $id_key => $external_id) {
->update([ $external_id = (string)$external_id;
'external_id' => $external_id, $id = $ids[$id_key];
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
}
GoalBidModifier::where('id', $id)
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -51,66 +51,61 @@ class AddCampaigns extends DirectRequest ...@@ -51,66 +51,61 @@ class AddCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) { foreach ($response['result']['AddResults'] as $key => $add_result) {
$dictionaryCampaign = $this->dictionaryCampaigns->get($key); $dictionaryCampaign = $this->dictionaryCampaigns->get($key);
if (!isset($add_result['Id'])) { if (!isset($add_result['Id'])) {
Log::debug("AddCampaigns, empty Id"); Log::debug("AddCampaigns, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result); Log::debug($add_result);
Log::debug($this->getParams()['Campaigns'][$key]); Log::debug($this->getParams()['Campaigns'][$key]);
DictionaryCampaign::whereExternalId($dictionaryCampaign->external_id)->update([ DictionaryCampaign::whereExternalId($dictionaryCampaign->external_id)->update([
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$dictionaryCampaign->update([ $dictionaryCampaign->update([
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue; continue;
} }
$external_id = (string)$add_result['Id']; $external_id = (string)$add_result['Id'];
DictionaryCampaign::whereExternalId($external_id)->update([ DictionaryCampaign::whereExternalId($external_id)->update([
'external_upload_at' => Carbon::now(), 'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$dictionaryCampaign->groups()->update([ $dictionaryCampaign->groups()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
$dictionaryCampaign->goalKeywords()->update([ $dictionaryCampaign->goalKeywords()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
$dictionaryCampaign->goalAdvertisements()->update([ $dictionaryCampaign->goalAdvertisements()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
$dictionaryCampaign->goalBidModifiers()->update([ $dictionaryCampaign->goalBidModifiers()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
$dictionaryCampaign->goalVCards()->update([ $dictionaryCampaign->goalVCards()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
$dictionaryCampaign->goalAudienceTargets()->update([ $dictionaryCampaign->goalAudienceTargets()->update([
'dictionary_campaign_external_id' => $external_id, 'dictionary_campaign_external_id' => $external_id,
]); ]);
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -60,6 +60,28 @@ class AddKeywords extends DirectRequest ...@@ -60,6 +60,28 @@ class AddKeywords extends DirectRequest
$goalKeyword = $this->goalKeywords[$key]; $goalKeyword = $this->goalKeywords[$key];
if (!isset($add_result['Id'])) { if (!isset($add_result['Id'])) {
if (
isset($add_result['Errors'][0]['Code'])
&&
$add_result['Errors'][0]['Code'] == 8800
&&
isset($add_result['Errors'][0]['Details'])
&&
$add_result['Errors'][0]['Details'] === 'Ad group not found'
) {
$model = GoalKeyword::with('goalAdGroup')->firstWhere('id', $goalKeyword->id);
if ($model) {
if ($model->goalAdGroup) {
$model->goalAdGroup->delete();
}
$model->delete();
}
continue;
}
Log::debug("AddKeywords, empty Id"); Log::debug("AddKeywords, empty Id");
Log::debug($add_result); Log::debug($add_result);
Log::debug($this->getParams()['Keywords'][$key]); Log::debug($this->getParams()['Keywords'][$key]);
......
...@@ -50,41 +50,36 @@ class AddNegativeKeywordSharedSets extends DirectRequest ...@@ -50,41 +50,36 @@ class AddNegativeKeywordSharedSets extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalNegativeKeywordSharedSet = $this->goalNegativeKeywordSharedSets->get($key);
if (!isset($add_result['Id'])) { foreach ($response['result']['AddResults'] as $key => $add_result) {
Log::debug("AddNegativeKeywordSharedSet, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['NegativeKeywordSharedSets'][$key]);
GoalNegativeKeywordSharedSet::where('id', $goalNegativeKeywordSharedSet->id) $goalNegativeKeywordSharedSet = $this->goalNegativeKeywordSharedSets->get($key);
->update([
'reserve_create_at' => null,
]);
continue; if (!isset($add_result['Id'])) {
} Log::debug("AddNegativeKeywordSharedSet, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['NegativeKeywordSharedSets'][$key]);
$external_id = (string)$add_result['Id']; GoalNegativeKeywordSharedSet::where('id', $goalNegativeKeywordSharedSet->id)
GoalNegativeKeywordSharedSet::where('id', $goalNegativeKeywordSharedSet->getKey())
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
GoalNegativeKeywordSharedSet::where('id', $goalNegativeKeywordSharedSet->getKey())
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
} }
} }
......
...@@ -49,45 +49,40 @@ class AddRetargetinglists extends DirectRequest ...@@ -49,45 +49,40 @@ class AddRetargetinglists extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalRetargetinglist = $this->goalRetargetinglists->get($key);
if (!isset($add_result['Id'])) {
Log::debug("AddRetargetinglist, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['RetargetingLists'][$key]);
GoalRetargetinglist::where('id', $goalRetargetinglist->getKey()) foreach ($response['result']['AddResults'] as $key => $add_result) {
->update([
'reserve_create_at' => null,
]);
continue; $goalRetargetinglist = $this->goalRetargetinglists->get($key);
}
$external_id = (string)$add_result['Id']; if (!isset($add_result['Id'])) {
Log::debug("AddRetargetinglist, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['RetargetingLists'][$key]);
GoalRetargetinglist::where('id', $goalRetargetinglist->getKey()) GoalRetargetinglist::where('id', $goalRetargetinglist->getKey())
->update([ ->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$goalRetargetinglist->goalAudienceTargets()->update([ continue;
'goal_retargetinglist_external_id' => $external_id, }
$external_id = (string)$add_result['Id'];
GoalRetargetinglist::where('id', $goalRetargetinglist->getKey())
->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]); ]);
} $goalRetargetinglist->goalAudienceTargets()->update([
} catch (\Exception $e) { 'goal_retargetinglist_external_id' => $external_id,
Log::debug($e); ]);
throw $e;
} }
} }
......
...@@ -49,43 +49,38 @@ class AddSitelinks extends DirectRequest ...@@ -49,43 +49,38 @@ class AddSitelinks extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalSitelink = $this->goalSitelinks->get($key);
if (!isset($add_result['Id'])) {
Log::debug("AddSitelink, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['SitelinksSets'][$key]);
$goalSitelink->update([ foreach ($response['result']['AddResults'] as $key => $add_result) {
'reserve_create_at' => null,
]);
continue; $goalSitelink = $this->goalSitelinks->get($key);
}
$external_id = (string)$add_result['Id']; if (!isset($add_result['Id'])) {
Log::debug("AddSitelink, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['SitelinksSets'][$key]);
$goalSitelink->update([ $goalSitelink->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$goalSitelink->goalAdvertisements()->update([ continue;
'goal_sitelink_external_id' => $external_id,
]);
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
$goalSitelink->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
$goalSitelink->goalAdvertisements()->update([
'goal_sitelink_external_id' => $external_id,
]);
} }
} }
......
...@@ -51,43 +51,38 @@ class AddVCards extends DirectRequest ...@@ -51,43 +51,38 @@ class AddVCards extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['AddResults'])) {
if (!isset($response['result']['AddResults'])) { return;
return; }
}
foreach ($response['result']['AddResults'] as $key => $add_result) {
$goalVCard = $this->goalVCards->get($key);
if (!isset($add_result['Id'])) {
Log::debug("AddNegativeKeywordSharedSet, empty Id");
Log::debug($add_result);
Log::debug($this->getParams()['VCards'][$key]);
$goalVCard->update([ foreach ($response['result']['AddResults'] as $key => $add_result) {
'reserve_create_at' => null,
]);
continue; $goalVCard = $this->goalVCards->get($key);
}
$external_id = (string)$add_result['Id']; if (!isset($add_result['Id'])) {
Log::debug("AddNegativeKeywordSharedSet, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['VCards'][$key]);
$goalVCard->update([ $goalVCard->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null, 'reserve_create_at' => null,
]); ]);
$goalVCard->goalAdvertisements()->update([ continue;
'goal_v_card_external_id' => $external_id,
]);
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$add_result['Id'];
throw $e;
$goalVCard->update([
'external_id' => $external_id,
'external_upload_at' => Carbon::now(),
'reserve_create_at' => null,
]);
$goalVCard->goalAdvertisements()->update([
'goal_v_card_external_id' => $external_id,
]);
} }
} }
......
...@@ -35,92 +35,86 @@ class ArchiveAds extends DirectRequest ...@@ -35,92 +35,86 @@ class ArchiveAds extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['ArchiveResults'])) {
if (!isset($response['result']['ArchiveResults'])) { return;
return; }
}
foreach ($response['result']['ArchiveResults'] as $key => $archive_result) {
if (!isset($archive_result['Id'])) {
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
/*
* array (
* 0 =>
* array (
* 'Code' => 8300,
* 'Message' => 'Invalid object status',
* 'Details' => 'Ad is a draft and cannot be archived',
* ),
* )
*/
if (isset($archive_result['Errors'][0]['Code']) == 8300) {
if ($this->getToken()->isMain()) {
Advertisement::whereExternalId($external_id)
->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null,
]);
} else {
GoalAdvertisement::whereExternalId($external_id)
->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null,
]);
}
continue;
} else {
Log::debug("ArchiveAds, empty Id");
Log::debug($archive_result);
Log::debug($external_id);
}
foreach ($response['result']['ArchiveResults'] as $key => $archive_result) {
if (!isset($archive_result['Id'])) {
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
/*
* array (
* 0 =>
* array (
* 'Code' => 8300,
* 'Message' => 'Invalid object status',
* 'Details' => 'Ad is a draft and cannot be archived',
* ),
* )
*/
if (isset($archive_result['Errors'][0]['Code']) == 8300) {
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
Advertisement::whereExternalId($external_id) Advertisement::whereExternalId($external_id)
->update([ ->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null, 'reserve_archive_at' => null,
]); ]);
} else { } else {
GoalAdvertisement::whereExternalId($external_id) GoalAdvertisement::whereExternalId($external_id)
->update([ ->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null, 'reserve_archive_at' => null,
]); ]);
} }
continue; continue;
} } else {
$external_id = (string)$archive_result['Id']; Log::debug("ArchiveAds, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($archive_result);
Log::debug($external_id);
}
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
Advertisement::needArchived() Advertisement::whereExternalId($external_id)
->where('external_id', $external_id)
->update([ ->update([
'state' => Advertisement::STATE_ARCHIVED,
'status_clarification' => 'Archived.',
'archived_need' => null,
'reserve_archive_at' => null, 'reserve_archive_at' => null,
]); ]);
} else { } else {
GoalAdvertisement::forExternal()->needArchived() GoalAdvertisement::whereExternalId($external_id)
->where('external_id', $external_id)
->update([ ->update([
'archive_at' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null, 'reserve_archive_at' => null,
]); ]);
} }
continue;
}
$external_id = (string)$archive_result['Id'];
if ($this->getToken()->isMain()) {
Advertisement::needArchived()
->where('external_id', $external_id)
->update([
'state' => Advertisement::STATE_ARCHIVED,
'status_clarification' => 'Archived.',
'archived_need' => null,
'reserve_archive_at' => null,
]);
} else {
GoalAdvertisement::forExternal()->needArchived()
->where('external_id', $external_id)
->update([
'archive_at' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null,
]);
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -39,7 +39,7 @@ class DeleteAdGroups extends DirectRequest ...@@ -39,7 +39,7 @@ class DeleteAdGroups extends DirectRequest
foreach ($response['result']['DeleteResults'] as $key => $delete_result) { foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) { if (!isset($delete_result['Id'])) {
Log::debug("DeleteAdGroups, empty Id"); Log::debug("DeleteAdGroups, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result); Log::debug($delete_result);
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]); Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
......
...@@ -34,76 +34,70 @@ class DeleteAds extends DirectRequest ...@@ -34,76 +34,70 @@ class DeleteAds extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['DeleteResults'])) {
if (!isset($response['result']['DeleteResults'])) { return;
return; }
}
foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) {
if ( foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
isset($delete_result['Errors'][0]['Code'])
&&
$delete_result['Errors'][0]['Code'] == 8800
) {
if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){ if (!isset($delete_result['Id'])) {
if ($this->getToken()->isMain()) { if (
Advertisement::needDeleted() isset($delete_result['Errors'][0]['Code'])
->where('external_id', $external_id) &&
->delete(); $delete_result['Errors'][0]['Code'] == 8800
} else { ) {
GoalAdvertisement::forExternal()->needDeleted()
->where('external_id', $external_id)
->delete();
}
continue; if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){
if ($this->getToken()->isMain()) {
Advertisement::needDeleted()
->where('external_id', $external_id)
->delete();
} else {
GoalAdvertisement::forExternal()->needDeleted()
->where('external_id', $external_id)
->delete();
} }
}
Log::debug("DeleteAds, empty Id");
Log::debug($delete_result);
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) {
Advertisement::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
} else {
GoalAdvertisement::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
}
continue; continue;
}
} }
$external_id = (string)$delete_result['Id']; Log::debug("DeleteAds, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result);
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
Advertisement::needDeleted() Advertisement::whereExternalId($external_id)
->where('external_id', $external_id) ->update([
->delete(); 'reserve_delete_at' => null,
]);
} else { } else {
GoalAdvertisement::forExternal()->needDeleted() GoalAdvertisement::whereExternalId($external_id)
->where('external_id', $external_id) ->update([
->delete(); 'reserve_delete_at' => null,
]);
} }
continue;
}
$external_id = (string)$delete_result['Id'];
if ($this->getToken()->isMain()) {
Advertisement::needDeleted()
->where('external_id', $external_id)
->delete();
} else {
GoalAdvertisement::forExternal()->needDeleted()
->where('external_id', $external_id)
->delete();
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -34,51 +34,45 @@ class DeleteAudienceTarget extends DirectRequest ...@@ -34,51 +34,45 @@ class DeleteAudienceTarget extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['DeleteResults'])) {
if (!isset($response['result']['DeleteResults'])) { return;
return; }
}
foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) {
Log::debug("DeleteAudienceTargets, empty Id");
Log::debug($delete_result);
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) { foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
AudienceTarget::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
} else {
GoalAudienceTarget::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
}
continue; if (!isset($delete_result['Id'])) {
} Log::debug("DeleteAudienceTargets, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result);
$external_id = (string)$delete_result['Id']; $external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
AudienceTarget::whereExternalId($external_id) AudienceTarget::whereExternalId($external_id)
->delete(); ->update([
'reserve_delete_at' => null,
]);
} else { } else {
GoalAudienceTarget::whereExternalId($external_id) GoalAudienceTarget::whereExternalId($external_id)
->delete(); ->update([
'reserve_delete_at' => null,
]);
} }
continue;
}
$external_id = (string)$delete_result['Id'];
if ($this->getToken()->isMain()) {
AudienceTarget::whereExternalId($external_id)
->delete();
} else {
GoalAudienceTarget::whereExternalId($external_id)
->delete();
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -33,33 +33,28 @@ class DeleteBidModifiers extends DirectRequest ...@@ -33,33 +33,28 @@ class DeleteBidModifiers extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['DeleteResults'])) {
if (!isset($response['result']['DeleteResults'])) { return;
return; }
}
foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) {
if (isset($delete_result['Errors'][0]['Message']) && $delete_result['Errors'][0]['Message'] === 'Object not found') { foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
GoalBidModifier::where('external_id', $this->getParams()['SelectionCriteria']['Ids'][$key])->delete(); if (!isset($delete_result['Id'])) {
continue;
}
Log::debug("DeleteBidModifier, empty Id"); if (isset($delete_result['Errors'][0]['Message']) && $delete_result['Errors'][0]['Message'] === 'Object not found') {
Log::debug($delete_result); GoalBidModifier::where('external_id', $this->getParams()['SelectionCriteria']['Ids'][$key])->delete();
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
continue; continue;
} }
$external_id = (string)$delete_result['Id']; Log::debug("DeleteBidModifier, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result);
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
continue;
}
GoalBidModifier::where('external_id', $external_id)->delete(); $external_id = (string)$delete_result['Id'];
GoalBidModifier::where('external_id', $external_id)->delete();
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -41,33 +41,28 @@ class DeleteKeywords extends DirectRequest ...@@ -41,33 +41,28 @@ class DeleteKeywords extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['DeleteResults'])) {
if (!isset($response['result']['DeleteResults'])) { return;
return; }
}
foreach ($response['result']['DeleteResults'] as $key => $delete_result) { foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) { if (!isset($delete_result['Id'])) {
Log::debug("DeleteKeywords, empty Id"); Log::debug("DeleteKeywords, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result); Log::debug($delete_result);
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]); Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
if ($delete_result['Errors'][0]['Code']==8800){ if ($delete_result['Errors'][0]['Code']==8800){
//объекта по какой то причине нет //объекта по какой то причине нет
if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){ if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){
GoalKeyword::where('external_id', $external_id)->delete(); GoalKeyword::where('external_id', $external_id)->delete();
}
} }
continue;
} }
continue;
}
$external_id = (string)$delete_result['Id']; $external_id = (string)$delete_result['Id'];
GoalKeyword::where('external_id', $external_id)->delete(); GoalKeyword::where('external_id', $external_id)->delete();
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -34,72 +34,66 @@ class DeleteVCards extends DirectRequest ...@@ -34,72 +34,66 @@ class DeleteVCards extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['DeleteResults'])) {
if (!isset($response['result']['DeleteResults'])) { return;
return; }
}
foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
if (!isset($delete_result['Id'])) {
if ( foreach ($response['result']['DeleteResults'] as $key => $delete_result) {
isset($delete_result['Errors'][0]['Code'])
&&
$delete_result['Errors'][0]['Code'] == 8800
) {
if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){ if (!isset($delete_result['Id'])) {
if ($this->getToken()->isMain()) { if (
VCard::whereExternalId($external_id) isset($delete_result['Errors'][0]['Code'])
->delete(); &&
} else { $delete_result['Errors'][0]['Code'] == 8800
GoalVCard::whereExternalId($external_id) ) {
->delete();
}
continue; if ($external_id = $this->getParams()['SelectionCriteria']['Ids'][$key]){
if ($this->getToken()->isMain()) {
VCard::whereExternalId($external_id)
->delete();
} else {
GoalVCard::whereExternalId($external_id)
->delete();
} }
}
Log::debug("DeleteVCards, empty Id");
Log::debug($delete_result);
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) {
VCard::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
} else {
GoalVCard::whereExternalId($external_id)
->update([
'reserve_delete_at' => null,
]);
}
continue; continue;
}
} }
$external_id = (string)$delete_result['Id']; Log::debug("DeleteVCards, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($delete_result);
$external_id = $this->getParams()['SelectionCriteria']['Ids'][$key];
Log::debug($external_id);
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
VCard::whereExternalId($external_id) VCard::whereExternalId($external_id)
->delete(); ->update([
'reserve_delete_at' => null,
]);
} else { } else {
GoalVCard::whereExternalId($external_id) GoalVCard::whereExternalId($external_id)
->delete(); ->update([
'reserve_delete_at' => null,
]);
} }
continue;
}
$external_id = (string)$delete_result['Id'];
if ($this->getToken()->isMain()) {
VCard::whereExternalId($external_id)
->delete();
} else {
GoalVCard::whereExternalId($external_id)
->delete();
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -45,42 +45,36 @@ class GetAdExtensions extends DirectRequest ...@@ -45,42 +45,36 @@ class GetAdExtensions extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['AdExtensions'])) {
if (isset($response['result']['AdExtensions'])) { foreach ($response['result']['AdExtensions'] as $ad_extension) {
foreach ($response['result']['AdExtensions'] as $ad_extension) {
$external_id = (string)$ad_extension['Id'];
$external_id = (string)$ad_extension['Id'];
if ($this->getToken()->isMain()) {
if ($this->getToken()->isMain()) {
$data = [
$data = [ 'external_id' => $external_id,
'external_id' => $external_id, 'callout_text' => $ad_extension['Callout']['CalloutText'],
'callout_text' => $ad_extension['Callout']['CalloutText'], 'associated' => $ad_extension['Associated'] === 'YES',
'associated' => $ad_extension['Associated'] === 'YES', 'status' => $ad_extension['Status'],
'status' => $ad_extension['Status'], 'status_clarification' => $ad_extension['StatusClarification'],
'status_clarification' => $ad_extension['StatusClarification'], ];
];
$adExtension = AdExtension::updateOrCreate([
$adExtension = AdExtension::updateOrCreate([ 'external_id' => $external_id
'external_id' => $external_id ], $data);
], $data);
if ($adExtension->wasChanged($adExtension::getPropertiesWatch()->toArray())) {
if ($adExtension->wasChanged($adExtension::getPropertiesWatch()->toArray())) { $adExtension->goalAdExtensions()->forExternal()->update([
$adExtension->goalAdExtensions()->forExternal()->update([ 'updated_need' => Carbon::now(),
'updated_need' => Carbon::now(), ]);
]);
}
} else {
//
} }
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -42,44 +42,38 @@ class GetAdImages extends DirectRequest ...@@ -42,44 +42,38 @@ class GetAdImages extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['AdImages'])) {
if (isset($response['result']['AdImages'])) { foreach ($response['result']['AdImages'] as $ad_image) {
foreach ($response['result']['AdImages'] as $ad_image) {
$hash = (string)$ad_image['AdImageHash'];
$hash = (string)$ad_image['AdImageHash']; $original_url = $ad_image['OriginalUrl'];
$original_url = $ad_image['OriginalUrl'];
if ($this->getToken()->isMain()) {
if ($this->getToken()->isMain()) {
if (!$original_url) {
if (!$original_url) { Log::debug("GetAdImage, empty OriginalUrl, token_id {$this->getToken()->getKey()}");
Log::debug("GetAdImage, empty OriginalUrl"); Log::debug($ad_image);
Log::debug($ad_image); continue;
continue;
}
$data = [
'hash' => $hash,
'name' => $ad_image['Name'],
'type' => $ad_image['Type'],
'subtype' => $ad_image['Subtype'],
'original_url' => $original_url,
'preview_url' => $ad_image['PreviewUrl'],
];
$adImage = AdImage::updateOrCreate([
'hash' => $hash
], $data);
} else {
//
} }
$data = [
'hash' => $hash,
'name' => $ad_image['Name'],
'type' => $ad_image['Type'],
'subtype' => $ad_image['Subtype'],
'original_url' => $original_url,
'preview_url' => $ad_image['PreviewUrl'],
];
$adImage = AdImage::updateOrCreate([
'hash' => $hash
], $data);
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -66,70 +66,69 @@ class GetAudienceTargets extends DirectRequest ...@@ -66,70 +66,69 @@ class GetAudienceTargets extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (!isset($response['result']['AudienceTargets'])) {
if (!isset($response['result']['AudienceTargets'])) { return;
return; }
}
$ad_group_external_ids = []; $ad_group_external_ids = [];
$campaign_external_ids = []; $campaign_external_ids = [];
$retargetinglist_external_ids = []; $retargetinglist_external_ids = [];
foreach ($response['result']['AudienceTargets'] as $audience_target) { foreach ($response['result']['AudienceTargets'] as $audience_target) {
$ad_group_external_id = (string)$audience_target['AdGroupId']; $ad_group_external_id = (string)$audience_target['AdGroupId'];
$campaign_external_id = (string)$audience_target['CampaignId']; $campaign_external_id = (string)$audience_target['CampaignId'];
$retargetinglist_external_id = (string)$audience_target['RetargetingListId']; $retargetinglist_external_id = (string)$audience_target['RetargetingListId'];
if (!isset($ad_group_external_ids[$ad_group_external_id])) { if (!isset($ad_group_external_ids[$ad_group_external_id])) {
$ad_group_external_ids[$ad_group_external_id] = true; $ad_group_external_ids[$ad_group_external_id] = true;
} }
if (!isset($campaign_external_ids[$campaign_external_id])) { if (!isset($campaign_external_ids[$campaign_external_id])) {
$campaign_external_ids[$campaign_external_id] = true; $campaign_external_ids[$campaign_external_id] = true;
} }
if (!isset($retargetinglist_external_ids[$retargetinglist_external_id])) { if (!isset($retargetinglist_external_ids[$retargetinglist_external_id])) {
$retargetinglist_external_ids[$retargetinglist_external_id] = true; $retargetinglist_external_ids[$retargetinglist_external_id] = true;
}
} }
}
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$adGroups = AdGroup::whereIn('external_id', array_keys($ad_group_external_ids)) $adGroups = AdGroup::whereIn('external_id', array_keys($ad_group_external_ids))
->get() ->get()
->keyBy('external_id'); ->keyBy('external_id');
$campaigns = Campaigns::whereIn('external_id', array_keys($campaign_external_ids)) $campaigns = Campaigns::whereIn('external_id', array_keys($campaign_external_ids))
->get() ->get()
->keyBy('external_id'); ->keyBy('external_id');
$retargetinglists = Retargetinglist::whereIn('external_id', array_keys($retargetinglist_external_ids)) $retargetinglists = Retargetinglist::whereIn('external_id', array_keys($retargetinglist_external_ids))
->get() ->get()
->keyBy('external_id'); ->keyBy('external_id');
} }
foreach ($response['result']['AudienceTargets'] as $audience_target) { foreach ($response['result']['AudienceTargets'] as $audience_target) {
$external_id = (string)$audience_target['Id']; $external_id = (string)$audience_target['Id'];
$ad_group_external_id = (string)$audience_target['AdGroupId']; $ad_group_external_id = (string)$audience_target['AdGroupId'];
$campaign_external_id = (string)$audience_target['CampaignId']; $campaign_external_id = (string)$audience_target['CampaignId'];
$retargetinglist_external_id = (string)$audience_target['RetargetingListId']; $retargetinglist_external_id = (string)$audience_target['RetargetingListId'];
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
/* @var $adGroup AdGroup|null */ /* @var $adGroup AdGroup|null */
$adGroup = $adGroups->get($ad_group_external_id); $adGroup = $adGroups->get($ad_group_external_id);
if (!$adGroup) { if (!$adGroup) {
continue; continue;
} }
/* @var $campaign Campaigns|null */ /* @var $campaign Campaigns|null */
$campaign = $campaigns->get($campaign_external_id); $campaign = $campaigns->get($campaign_external_id);
if (!$campaign) { if (!$campaign) {
continue; continue;
} }
// if ($retargetinglist_external_id) { // if ($retargetinglist_external_id) {
// /* @var $retargetinglist Retargetinglist|null */ // /* @var $retargetinglist Retargetinglist|null */
...@@ -140,40 +139,35 @@ class GetAudienceTargets extends DirectRequest ...@@ -140,40 +139,35 @@ class GetAudienceTargets extends DirectRequest
// } // }
// } // }
$interest_external_id = (string)$audience_target['InterestId']; $interest_external_id = (string)$audience_target['InterestId'];
$data = [ $data = [
'external_id' => $external_id, 'external_id' => $external_id,
'ad_group_external_id' => $adGroup->external_id, 'ad_group_external_id' => $adGroup->external_id,
'ad_group_id' => $adGroup->getKey(), 'ad_group_id' => $adGroup->getKey(),
'campaign_external_id' => $campaign->external_id, 'campaign_external_id' => $campaign->external_id,
'campaign_id' => $campaign->getKey(), 'campaign_id' => $campaign->getKey(),
'retargetinglist_external_id' => $retargetinglist_external_id ?? null, 'retargetinglist_external_id' => $retargetinglist_external_id ?? null,
// 'retargetinglist_id' => $retargetinglist_external_id ? $retargetinglist->getKey() : null, // 'retargetinglist_id' => $retargetinglist_external_id ? $retargetinglist->getKey() : null,
'interest_external_id' => $interest_external_id ?? null, 'interest_external_id' => $interest_external_id ?? null,
'context_bid' => (string)$audience_target['ContextBid'], 'context_bid' => (string)$audience_target['ContextBid'],
'strategy_priority' => $audience_target['StrategyPriority'], 'strategy_priority' => $audience_target['StrategyPriority'],
]; ];
$audienceTarget = AudienceTarget::updateOrCreate([ $audienceTarget = AudienceTarget::updateOrCreate([
'external_id' => $external_id 'external_id' => $external_id
], $data); ], $data);
if (!$audienceTarget->wasRecentlyCreated && $audienceTarget->wasChanged($audienceTarget::getPropertiesWatch()->toArray())) { if (!$audienceTarget->wasRecentlyCreated && $audienceTarget->wasChanged($audienceTarget::getPropertiesWatch()->toArray())) {
$audienceTarget->goalAudienceTargets()->forExternal()->update([ $audienceTarget->goalAudienceTargets()->forExternal()->update([
'updated_need' => Carbon::now(), 'updated_need' => Carbon::now(),
]); ]);
}
} else {
//
} }
} else {
//
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -45,55 +45,50 @@ class GetCampaigns extends DirectRequest ...@@ -45,55 +45,50 @@ class GetCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['Campaigns'])) {
if (!isset($response['result']['Campaigns'])) { return;
return; }
}
foreach ($response['result']['Campaigns'] as $campaign_data) {
$external_id = (string)$campaign_data['Id'];
$data = [
'external_id' => $external_id,
'token' => $this->getToken()->id,
'name' => $campaign_data['Name'],
'time_targeting' => $campaign_data['TimeTargeting'],
'negative_keywords' => $campaign_data['NegativeKeywords']['Items'] ?? [],
'blocked_ips' => $campaign_data['BlockedIps']['Items'] ?? [],
'excluded_sites' => $campaign_data['ExcludedSites']['Items'] ?? [],
'daily_budget' => $campaign_data['DailyBudget'],
'bidding_strategy' => $campaign_data['TextCampaign']['BiddingStrategy'],
'settings' => $campaign_data['TextCampaign']['Settings'],
'counter_ids' => $campaign_data['TextCampaign']['CounterIds']['Items'] ?? [],
'relevant_keywords' => $campaign_data['TextCampaign']['RelevantKeywords'],
'attribution_model' => $campaign_data['TextCampaign']['AttributionModel'],
'priority_goals' => $campaign_data['TextCampaign']['PriorityGoals'],
'updated_self' => null,
];
if ($this->getToken()->isMain()) {
Campaigns::updateOrCreate([
'external_id' => $external_id
], $data);
} else {
$dictionaryCampaign = DictionaryCampaign::synchronized()
->find($external_id);
if (!$dictionaryCampaign)
continue;
$dictionaryCampaign->update(
array_merge([
'updated_self' => null,
], $dictionaryCampaign::copyPropertyFromMain($campaign_data))
);
}
foreach ($response['result']['Campaigns'] as $campaign_data) {
$external_id = (string)$campaign_data['Id'];
$data = [
'external_id' => $external_id,
'token' => $this->getToken()->id,
'name' => $campaign_data['Name'],
'time_targeting' => $campaign_data['TimeTargeting'],
'negative_keywords' => $campaign_data['NegativeKeywords']['Items'] ?? [],
'blocked_ips' => $campaign_data['BlockedIps']['Items'] ?? [],
'excluded_sites' => $campaign_data['ExcludedSites']['Items'] ?? [],
'daily_budget' => $campaign_data['DailyBudget'],
'bidding_strategy' => $campaign_data['TextCampaign']['BiddingStrategy'],
'settings' => $campaign_data['TextCampaign']['Settings'],
'counter_ids' => $campaign_data['TextCampaign']['CounterIds']['Items'] ?? [],
'relevant_keywords' => $campaign_data['TextCampaign']['RelevantKeywords'],
'attribution_model' => $campaign_data['TextCampaign']['AttributionModel'],
'priority_goals' => $campaign_data['TextCampaign']['PriorityGoals'],
'updated_self' => null,
];
if ($this->getToken()->isMain()) {
Campaigns::updateOrCreate([
'external_id' => $external_id
], $data);
} else {
$dictionaryCampaign = DictionaryCampaign::synchronized()
->find($external_id);
if (!$dictionaryCampaign)
continue;
$dictionaryCampaign->update(
array_merge([
'updated_self' => null,
], $dictionaryCampaign::copyPropertyFromMain($campaign_data))
);
} }
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -20,30 +20,25 @@ class GetDictionaries extends DirectRequest ...@@ -20,30 +20,25 @@ class GetDictionaries extends DirectRequest
function handle($response) function handle($response)
{ {
try { $data = collect();
$data = collect();
foreach ($response['result']['GeoRegions'] as $region) {
foreach ($response['result']['GeoRegions'] as $region) { $data->push([
$data->push([ 'region_id' => $region['GeoRegionId'],
'region_id' => $region['GeoRegionId'], 'parent_id' => $region['ParentId'],
'parent_id' => $region['ParentId'], 'name' => $region['GeoRegionName'],
'name' => $region['GeoRegionName'], 'type' => $region['GeoRegionType'],
'type' => $region['GeoRegionType'], ]);
]); }
}
foreach ($data->chunk(100) as $list) {
foreach ($data->chunk(100) as $list) { Dictionary::upsert($list->toArray(), [
Dictionary::upsert($list->toArray(), [ 'region_id'
'region_id' ], [
], [ 'parent_id',
'parent_id', 'name',
'name', 'type',
'type', ]);
]);
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -46,41 +46,35 @@ class GetNegativeKeywordSharedSets extends DirectRequest ...@@ -46,41 +46,35 @@ class GetNegativeKeywordSharedSets extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['NegativeKeywordSharedSets'])) {
if (isset($response['result']['NegativeKeywordSharedSets'])) { foreach ($response['result']['NegativeKeywordSharedSets'] as $negative_keyword_shared_sets) {
foreach ($response['result']['NegativeKeywordSharedSets'] as $negative_keyword_shared_sets) {
$external_id = (string)$negative_keyword_shared_sets['Id']; $external_id = (string)$negative_keyword_shared_sets['Id'];
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$data = [ $data = [
'external_id' => $external_id, 'external_id' => $external_id,
'name' => $negative_keyword_shared_sets['Name'], 'name' => $negative_keyword_shared_sets['Name'],
'negative_keywords' => $negative_keyword_shared_sets['NegativeKeywords'], 'negative_keywords' => $negative_keyword_shared_sets['NegativeKeywords'],
'associated' => $negative_keyword_shared_sets['Associated'] === 'YES', 'associated' => $negative_keyword_shared_sets['Associated'] === 'YES',
]; ];
$negativeKeywordSharedSet = NegativeKeywordSharedSet::updateOrCreate([ $negativeKeywordSharedSet = NegativeKeywordSharedSet::updateOrCreate([
'external_id' => $external_id 'external_id' => $external_id
], $data); ], $data);
if (!$negativeKeywordSharedSet->wasRecentlyCreated && $negativeKeywordSharedSet->wasChanged($negativeKeywordSharedSet::getPropertiesWatch()->toArray())) { if (!$negativeKeywordSharedSet->wasRecentlyCreated && $negativeKeywordSharedSet->wasChanged($negativeKeywordSharedSet::getPropertiesWatch()->toArray())) {
$negativeKeywordSharedSet->goalNegativeKeywordSharedSets()->forExternal()->update([ $negativeKeywordSharedSet->goalNegativeKeywordSharedSets()->forExternal()->update([
'updated_need' => Carbon::now(), 'updated_need' => Carbon::now(),
]); ]);
}
} else {
//
} }
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -43,42 +43,36 @@ class GetRetargetinglists extends DirectRequest ...@@ -43,42 +43,36 @@ class GetRetargetinglists extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['RetargetingLists'])) {
if (isset($response['result']['RetargetingLists'])) { foreach ($response['result']['RetargetingLists'] as $retargeting_list) {
foreach ($response['result']['RetargetingLists'] as $retargeting_list) {
$external_id = (string)$retargeting_list['Id'];
$external_id = (string)$retargeting_list['Id'];
if ($this->getToken()->isMain()) {
if ($this->getToken()->isMain()) {
$data = [
$data = [ 'external_id' => $external_id,
'external_id' => $external_id, 'type' => $retargeting_list['Type'],
'type' => $retargeting_list['Type'], 'name' => $retargeting_list['Name'],
'name' => $retargeting_list['Name'], 'description' => $retargeting_list['Description'],
'description' => $retargeting_list['Description'], 'rules' => $retargeting_list['Rules'],
'rules' => $retargeting_list['Rules'], ];
];
$retargetinglist = Retargetinglist::updateOrCreate([
$retargetinglist = Retargetinglist::updateOrCreate([ 'external_id' => $external_id
'external_id' => $external_id ], $data);
], $data);
if (!$retargetinglist->wasRecentlyCreated && $retargetinglist->wasChanged($retargetinglist::getPropertiesWatch()->toArray())) {
if (!$retargetinglist->wasRecentlyCreated && $retargetinglist->wasChanged($retargetinglist::getPropertiesWatch()->toArray())) { $retargetinglist->goalRetargetinglists()->forExternal()->update([
$retargetinglist->goalRetargetinglists()->forExternal()->update([ 'updated_need' => Carbon::now(),
'updated_need' => Carbon::now(), ]);
]);
}
} else {
//
} }
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -46,39 +46,33 @@ class GetSitelinks extends DirectRequest ...@@ -46,39 +46,33 @@ class GetSitelinks extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['SitelinksSets'])) {
if (isset($response['result']['SitelinksSets'])) { foreach ($response['result']['SitelinksSets'] as $sitelinks_sets) {
foreach ($response['result']['SitelinksSets'] as $sitelinks_sets) {
$external_id = (string)$sitelinks_sets['Id']; $external_id = (string)$sitelinks_sets['Id'];
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$data = [ $data = [
'external_id' => $external_id, 'external_id' => $external_id,
'links' => $sitelinks_sets['Sitelinks'], 'links' => $sitelinks_sets['Sitelinks'],
]; ];
$sitelink = Sitelink::updateOrCreate([ $sitelink = Sitelink::updateOrCreate([
'external_id' => $external_id 'external_id' => $external_id
], $data); ], $data);
if (!$sitelink->wasRecentlyCreated && $sitelink->wasChanged($sitelink::getPropertiesWatch()->toArray())) { if (!$sitelink->wasRecentlyCreated && $sitelink->wasChanged($sitelink::getPropertiesWatch()->toArray())) {
$sitelink->goalSitelinks()->forExternal()->update([ $sitelink->goalSitelinks()->forExternal()->update([
'updated_need' => Carbon::now(), 'updated_need' => Carbon::now(),
]); ]);
}
} else {
//
} }
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -48,64 +48,57 @@ class GetVCards extends DirectRequest ...@@ -48,64 +48,57 @@ class GetVCards extends DirectRequest
function handle($response) function handle($response)
{ {
try { if (isset($response['result']['VCards'])) {
\Log::debug($response); foreach ($response['result']['VCards'] as $v_card) {
if (isset($response['result']['VCards'])) {
foreach ($response['result']['VCards'] as $v_card) {
$external_id = (string)$v_card['Id']; $external_id = (string)$v_card['Id'];
$campaign_id_external_id = (string)$v_card['CampaignId']; $campaign_id_external_id = (string)$v_card['CampaignId'];
$campaign = Campaigns::firstWhere('external_id', $campaign_id_external_id); $campaign = Campaigns::firstWhere('external_id', $campaign_id_external_id);
if (!$campaign) { if (!$campaign) {
continue; continue;
} }
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$data = [ $data = [
'external_id' => $external_id, 'external_id' => $external_id,
'campaign_external_id' => $campaign->external_id, 'campaign_external_id' => $campaign->external_id,
'campaign_id' => $campaign->getKey(), 'campaign_id' => $campaign->getKey(),
'country' => $v_card['Country'], 'country' => $v_card['Country'],
'city' => $v_card['City'], 'city' => $v_card['City'],
'work_time' => $v_card['WorkTime'], 'work_time' => $v_card['WorkTime'],
'phone' => $v_card['Phone'], 'phone' => $v_card['Phone'],
'street' => $v_card['Street'], 'street' => $v_card['Street'],
'house' => $v_card['House'], 'house' => $v_card['House'],
'building' => $v_card['Building'], 'building' => $v_card['Building'],
'apartment' => $v_card['Apartment'], 'apartment' => $v_card['Apartment'],
'instant_messenger' => $v_card['InstantMessenger'], 'instant_messenger' => $v_card['InstantMessenger'],
'company_name' => $v_card['CompanyName'], 'company_name' => $v_card['CompanyName'],
'extra_message' => $v_card['ExtraMessage'], 'extra_message' => $v_card['ExtraMessage'],
'contact_email' => $v_card['ContactEmail'], 'contact_email' => $v_card['ContactEmail'],
'ogrn' => $v_card['Ogrn'], 'ogrn' => $v_card['Ogrn'],
'metro_station_id' => $v_card['MetroStationId'], 'metro_station_id' => $v_card['MetroStationId'],
'point_on_map' => $v_card['PointOnMap'], 'point_on_map' => $v_card['PointOnMap'],
'contact_person' => $v_card['ContactPerson'], 'contact_person' => $v_card['ContactPerson'],
]; ];
$adExtension = VCard::updateOrCreate([ $adExtension = VCard::updateOrCreate([
'external_id' => $external_id 'external_id' => $external_id
], $data); ], $data);
if (!$adExtension->wasRecentlyCreated && $adExtension->wasChanged($adExtension::getPropertiesWatch()->toArray())) { if (!$adExtension->wasRecentlyCreated && $adExtension->wasChanged($adExtension::getPropertiesWatch()->toArray())) {
$adExtension->goalVCards()->forExternal()->update([ $adExtension->goalVCards()->forExternal()->update([
'updated_need' => Carbon::now(), 'updated_need' => Carbon::now(),
]); ]);
}
} else {
//
} }
} else {
//
} }
}
} catch (\Exception $e) { }
Log::debug($e);
throw $e;
} }
} }
......
...@@ -32,26 +32,21 @@ class ResumeCampaigns extends DirectRequest ...@@ -32,26 +32,21 @@ class ResumeCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { foreach ($response['result']['ResumeResults'] as $key => $resume_result) {
foreach ($response['result']['ResumeResults'] as $key => $resume_result) { if (!isset($resume_result['Id'])) {
if (!isset($resume_result['Id'])) { Log::debug("ResumeCampaigns, empty Id");
Log::debug("ResumeCampaigns, empty Id"); Log::debug($resume_result);
Log::debug($resume_result); Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]); continue;
continue; }
}
$external_id = (string)$resume_result['Id']; $external_id = (string)$resume_result['Id'];
DictionaryCampaign::where('external_id', $external_id) DictionaryCampaign::where('external_id', $external_id)
->update([ ->update([
'disabled_at' => null, 'disabled_at' => null,
'reserve_resume_at' => null, 'reserve_resume_at' => null,
]); ]);
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -37,38 +37,32 @@ class SetBidModifiers extends DirectRequest ...@@ -37,38 +37,32 @@ class SetBidModifiers extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['SetResults'])) {
if (!isset($response['result']['SetResults'])) { return;
return; }
}
foreach ($response['result']['SetResults'] as $key => $set_result) {
if (!isset($set_result['Id'])) {
Log::debug("UpdateBidModifier, empty Id");
Log::debug($set_result);
Log::debug($this->getParams()['BidModifiers'][$key]);
GoalBidModifier::whereExternalId($this->getParams()['BidModifiers'][$key]['Id'])
->update([
'reserve_update_at' => null,
]);
continue;
}
$external_id = (string)$set_result['Id']; foreach ($response['result']['SetResults'] as $key => $set_result) {
if (!isset($set_result['Id'])) {
Log::debug("UpdateBidModifier, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($set_result);
Log::debug($this->getParams()['BidModifiers'][$key]);
GoalBidModifier::forExternal()->needUpdated() GoalBidModifier::whereExternalId($this->getParams()['BidModifiers'][$key]['Id'])
->where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) { $external_id = (string)$set_result['Id'];
Log::debug($e);
throw $e; GoalBidModifier::forExternal()->needUpdated()
->where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
} }
......
...@@ -33,26 +33,21 @@ class SuspendCampaigns extends DirectRequest ...@@ -33,26 +33,21 @@ class SuspendCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { foreach ($response['result']['SuspendResults'] as $key => $suspend_result) {
foreach ($response['result']['SuspendResults'] as $key => $suspend_result) { if (!isset($suspend_result['Id'])) {
if (!isset($suspend_result['Id'])) { Log::debug("SuspendCampaigns, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug("SuspendCampaigns, empty Id"); Log::debug($suspend_result);
Log::debug($suspend_result); Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]);
Log::debug($this->getParams()['SelectionCriteria']['Ids'][$key]); continue;
continue; }
}
$external_id = (string)$suspend_result['Id']; $external_id = (string)$suspend_result['Id'];
DictionaryCampaign::where('external_id', $external_id) DictionaryCampaign::where('external_id', $external_id)
->update([ ->update([
'disabled_at' => Carbon::now(), 'disabled_at' => Carbon::now(),
'reserve_suspend_at' => null, 'reserve_suspend_at' => null,
]); ]);
}
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
} }
......
...@@ -36,55 +36,49 @@ class UpdateAdGroups extends DirectRequest ...@@ -36,55 +36,49 @@ class UpdateAdGroups extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $update_result) { foreach ($response['result']['UpdateResults'] as $key => $update_result) {
if (!isset($update_result['Id'])) { if (!isset($update_result['Id'])) {
if (isset($update_result['Message']) && $update_result['Message'] === 'Object not found') { if (isset($update_result['Message']) && $update_result['Message'] === 'Object not found') {
$goalAdGroup = GoalAdGroup::whereExternalId($this->getParams()['AdGroups'][$key]['Id']) $goalAdGroup = GoalAdGroup::whereExternalId($this->getParams()['AdGroups'][$key]['Id'])
->first(); ->first();
$goalAdGroup->goalKeywords()->delete(); $goalAdGroup->goalKeywords()->delete();
$goalAdGroup->goalAdvertisements()->delete(); $goalAdGroup->goalAdvertisements()->delete();
$goalAdGroup->goalBidModifiers()->delete(); $goalAdGroup->goalBidModifiers()->delete();
$goalAdGroup->goalAudienceTargets()->delete(); $goalAdGroup->goalAudienceTargets()->delete();
$goalAdGroup->forceDelete(); $goalAdGroup->forceDelete();
} else { } else {
Log::debug("UpdateAdGroup, empty Id"); Log::debug("UpdateAdGroup, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($update_result); Log::debug($update_result);
Log::debug($this->getParams()['AdGroups'][$key]); Log::debug($this->getParams()['AdGroups'][$key]);
GoalAdGroup::whereExternalId($this->getParams()['AdGroups'][$key]['Id']) GoalAdGroup::whereExternalId($this->getParams()['AdGroups'][$key]['Id'])
->update([ ->update([
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
}
continue;
} }
continue;
$external_id = (string)$update_result['Id'];
GoalAdGroup::forExternal()->needUpdated()
->where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
$this->getToken()->update([ $external_id = (string)$update_result['Id'];
'check_changes_ad_group' => Carbon::now()->addSeconds(5),
]); GoalAdGroup::forExternal()->needUpdated()
->where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
$this->getToken()->update([
'check_changes_ad_group' => Carbon::now()->addSeconds(5),
]);
} }
public function failed() public function failed()
......
...@@ -37,64 +37,58 @@ class UpdateAds extends DirectRequest ...@@ -37,64 +37,58 @@ class UpdateAds extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $update_result) {
if (!isset($update_result['Id'])) {
if (isset($update_result['Errors'][0]['Details']) && $update_result['Errors'][0]['Details'] === 'You cannot update an archived ad') {
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null,
'reserve_update_at' => null,
]);
continue;
} elseif (isset($update_result['Errors'][0]['Details']) && $update_result['Errors'][0]['Details'] === 'Ad not found') {
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->update([
'reserve_update_at' => null,
]);
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->delete();
continue;
}
Log::debug("UpdateAds, empty Id"); foreach ($response['result']['UpdateResults'] as $key => $update_result) {
Log::debug($update_result); if (!isset($update_result['Id'])) {
Log::debug($this->getParams()['Ads'][$key]);
if (isset($update_result['Errors'][0]['Details']) && $update_result['Errors'][0]['Details'] === 'You cannot update an archived ad') {
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id']) GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->update([ ->update([
'deleted_need' => Carbon::now(),
'archived_need' => null,
'reserve_archive_at' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} elseif (isset($update_result['Errors'][0]['Details']) && $update_result['Errors'][0]['Details'] === 'Ad not found') {
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->update([
'reserve_update_at' => null,
]);
GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->delete();
continue; continue;
} }
$external_id = (string)$update_result['Id']; Log::debug("UpdateAds, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($update_result);
Log::debug($this->getParams()['Ads'][$key]);
GoalAdvertisement::forExternal()->needUpdated() GoalAdvertisement::whereExternalId($this->getParams()['Ads'][$key]['Id'])
->where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
$this->getToken()->update([ $external_id = (string)$update_result['Id'];
'check_changes_ad_group' => Carbon::now()->addSeconds(5),
]); GoalAdvertisement::forExternal()->needUpdated()
->where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} catch (\Exception $e) {
Log::debug($e);
throw $e;
} }
$this->getToken()->update([
'check_changes_ad_group' => Carbon::now()->addSeconds(5),
]);
} }
public function failed() public function failed()
......
...@@ -38,50 +38,44 @@ class UpdateCampaigns extends DirectRequest ...@@ -38,50 +38,44 @@ class UpdateCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $add_result) {
if (!isset($add_result['Id'])) {
if (isset($add_result['Errors'][0]['Details']) && $add_result['Errors'][0]['Details'] === 'It is forbidden to change an archived campaign') {
DictionaryCampaign::whereExternalId($this->getParams()['Campaigns'][$key]['Id'])
->forceDelete();
continue;
}
Log::debug("UpdateCampaigns, empty Id"); foreach ($response['result']['UpdateResults'] as $key => $add_result) {
Log::debug($add_result); if (!isset($add_result['Id'])) {
Log::debug($this->getParams()['Campaigns'][$key]);
if (isset($add_result['Errors'][0]['Details']) && $add_result['Errors'][0]['Details'] === 'It is forbidden to change an archived campaign') {
DictionaryCampaign::whereExternalId($this->getParams()['Campaigns'][$key]['Id']) DictionaryCampaign::whereExternalId($this->getParams()['Campaigns'][$key]['Id'])
->update([ ->forceDelete();
'reserve_update_at' => null,
]);
continue; continue;
} }
$external_id = (string)$add_result['Id']; Log::debug("UpdateCampaigns, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($add_result);
Log::debug($this->getParams()['Campaigns'][$key]);
DictionaryCampaign::forExternal()->needUpdated() DictionaryCampaign::whereExternalId($this->getParams()['Campaigns'][$key]['Id'])
->where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
$this->getToken()->update([ $external_id = (string)$add_result['Id'];
'check_changes_campaign' => Carbon::now()->addSeconds(5),
]);
} catch (\Exception $e) { DictionaryCampaign::forExternal()->needUpdated()
Log::debug($e); ->where('external_id', $external_id)
throw $e; ->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
$this->getToken()->update([
'check_changes_campaign' => Carbon::now()->addSeconds(5),
]);
} }
public function failed() public function failed()
......
...@@ -37,38 +37,33 @@ class UpdateKeywords extends DirectRequest ...@@ -37,38 +37,33 @@ class UpdateKeywords extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $update_result) {
if (!isset($update_result['Id'])) {
Log::debug("UpdateKeywords, empty Id");
Log::debug($update_result);
Log::debug($this->getParams()['Keywords'][$key]);
GoalKeyword::whereExternalId($this->getParams()['Keywords'][$key]['Id'])
->update([
'reserve_update_at' => null,
]);
continue;
}
$external_id =(string) $update_result['Id']; foreach ($response['result']['UpdateResults'] as $key => $update_result) {
if (!isset($update_result['Id'])) {
Log::debug("UpdateKeywords, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($update_result);
Log::debug($this->getParams()['Keywords'][$key]);
GoalKeyword::forExternal()->needUpdated() GoalKeyword::whereExternalId($this->getParams()['Keywords'][$key]['Id'])
->where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id =(string) $update_result['Id'];
throw $e;
GoalKeyword::forExternal()->needUpdated()
->where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
} }
......
...@@ -50,40 +50,35 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest ...@@ -50,40 +50,35 @@ class UpdateNegativeKeywordSharedSets extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $update_result) {
$goalNegativeKeywordSharedSet = $this->goalNegativeKeywordSharedSets->get($key);
if (!isset($update_result['Id'])) { foreach ($response['result']['UpdateResults'] as $key => $update_result) {
Log::debug("UpdateNegativeKeywordSharedSet, empty Id");
Log::debug($update_result);
Log::debug($this->getParams()['NegativeKeywordSharedSets'][$key]);
GoalNegativeKeywordSharedSet::where('external_id', $goalNegativeKeywordSharedSet->external_id) $goalNegativeKeywordSharedSet = $this->goalNegativeKeywordSharedSets->get($key);
->update([
'reserve_update_at' => null,
]);
continue; if (!isset($update_result['Id'])) {
} Log::debug("UpdateNegativeKeywordSharedSet, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($update_result);
Log::debug($this->getParams()['NegativeKeywordSharedSets'][$key]);
$external_id = (string)$update_result['Id']; GoalNegativeKeywordSharedSet::where('external_id', $goalNegativeKeywordSharedSet->external_id)
GoalNegativeKeywordSharedSet::where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$update_result['Id'];
throw $e;
GoalNegativeKeywordSharedSet::where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
} }
......
...@@ -37,38 +37,33 @@ class UpdateRetargetinglists extends DirectRequest ...@@ -37,38 +37,33 @@ class UpdateRetargetinglists extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { if (!isset($response['result']['UpdateResults'])) {
if (!isset($response['result']['UpdateResults'])) { return;
return; }
}
foreach ($response['result']['UpdateResults'] as $key => $update_result) {
if (!isset($update_result['Id'])) {
Log::debug("AddRetargetinglist, empty Id");
Log::debug($update_result);
Log::debug($this->getParams()['RetargetingLists'][$key]);
GoalRetargetinglist::where('external_id', $this->getParams()['RetargetingLists'][$key]['Id']) foreach ($response['result']['UpdateResults'] as $key => $update_result) {
->update([
'reserve_update_at' => null,
]);
continue; if (!isset($update_result['Id'])) {
} Log::debug("AddRetargetinglist, empty Id, token_id {$this->getToken()->getKey()}");
Log::debug($update_result);
Log::debug($this->getParams()['RetargetingLists'][$key]);
$external_id = (string)$update_result['Id']; GoalRetargetinglist::where('external_id', $this->getParams()['RetargetingLists'][$key]['Id'])
GoalRetargetinglist::where('external_id', $external_id)
->update([ ->update([
'updated_need' => null,
'reserve_update_at' => null, 'reserve_update_at' => null,
]); ]);
continue;
} }
} catch (\Exception $e) {
Log::debug($e); $external_id = (string)$update_result['Id'];
throw $e;
GoalRetargetinglist::where('external_id', $external_id)
->update([
'updated_need' => null,
'reserve_update_at' => null,
]);
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!