Commit aacaef03 by Vladislav

fix CheckCampaignsChanges

1 parent f3fa934d
...@@ -8,7 +8,7 @@ use App\Models\Pivots\DictionaryCampaign; ...@@ -8,7 +8,7 @@ use App\Models\Pivots\DictionaryCampaign;
use App\Service\Requests\DirectRequest; use App\Service\Requests\DirectRequest;
use Carbon\Carbon; use Carbon\Carbon;
class CheckCampaignsChanges extends DirectRequest class CheckCampaignsChange extends DirectRequest
{ {
CONST SELF = 'SELF'; CONST SELF = 'SELF';
CONST CHILDREN = 'CHILDREN'; CONST CHILDREN = 'CHILDREN';
...@@ -25,43 +25,46 @@ class CheckCampaignsChanges extends DirectRequest ...@@ -25,43 +25,46 @@ class CheckCampaignsChanges extends DirectRequest
function handle($response) function handle($response)
{ {
foreach ($response['result']['Campaigns'] as $campaign_data) { if (isset($response['result']['Campaigns'])) {
if (in_array(self::SELF, $campaign_data['ChangesIn']) || in_array(self::CHILDREN, $campaign_data['ChangesIn'])) { foreach ($response['result']['Campaigns'] as $campaign_data) {
$data = []; if (in_array(self::SELF, $campaign_data['ChangesIn']) || in_array(self::CHILDREN, $campaign_data['ChangesIn'])) {
$data = [];
if (in_array(self::SELF, $campaign_data['ChangesIn'])) { if (in_array(self::SELF, $campaign_data['ChangesIn'])) {
$data['updated_self'] = Carbon::now(); $data['updated_self'] = Carbon::now();
} }
if (in_array(self::CHILDREN, $campaign_data['ChangesIn'])) { if (in_array(self::CHILDREN, $campaign_data['ChangesIn'])) {
$data['updated_children'] = Carbon::now(); $data['updated_children'] = Carbon::now();
} }
$external_id = $campaign_data['CampaignId']; $external_id = $campaign_data['CampaignId'];
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$data['external_id'] = $external_id; $data['external_id'] = $external_id;
$data['token'] = $this->getToken()->getKey(); $data['token'] = $this->getToken()->getKey();
Campaigns::updateOrCreate([ Campaigns::updateOrCreate([
'external_id' => $external_id 'external_id' => $external_id
], $data); ], $data);
} else { } else {
$dictionaryCampaign = DictionaryCampaign::synchronized()->find($external_id); $dictionaryCampaign = DictionaryCampaign::synchronized()->find($external_id);
if ($dictionaryCampaign) { if ($dictionaryCampaign) {
$data['external_updated_at'] = Carbon::now(); $data['external_updated_at'] = Carbon::now();
$dictionaryCampaign->update($data); $dictionaryCampaign->update($data);
} }
}
} }
} }
} }
$this->getToken()->update([ $this->getToken()->update([
'check_changes_campaign' => Carbon::createFromTimestamp($response['result']['Timestamp']), 'check_changes_campaign' => Carbon::parse($response['result']['Timestamp']),
]); ]);
$this->setToken($this->getToken()->refresh()); $this->setToken($this->getToken()->refresh());
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!