Commit a5d3b5fa by Vladislav

#19465 Реализация синхронизации данных по РК.

1 parent 60bbf67a
...@@ -113,14 +113,14 @@ class AddCampaigns extends DirectRequest ...@@ -113,14 +113,14 @@ class AddCampaigns extends DirectRequest
} }
if ($dictionaryCampaign->campaign->relevant_keywords_setting_budget_percent) { if ($dictionaryCampaign->campaign->relevant_keywords_setting_budget_percent) {
$data['RelevantKeywords'] = [ $data['TextCampaign']['RelevantKeywords'] = [
'BudgetPercent' => $dictionaryCampaign->campaign->relevant_keywords_setting_budget_percent, 'BudgetPercent' => $dictionaryCampaign->campaign->relevant_keywords_setting_budget_percent,
'OptimizeGoalId' => $dictionaryCampaign->campaign->relevant_keywords_setting_optimize_goal_id, 'OptimizeGoalId' => $dictionaryCampaign->campaign->relevant_keywords_setting_optimize_goal_id,
]; ];
} }
if ($dictionaryCampaign->campaign->attribution_model) { if ($dictionaryCampaign->campaign->attribution_model) {
$data['AttributionModel'] = $dictionaryCampaign->campaign->attribution_model; $data['TextCampaign']['AttributionModel'] = $dictionaryCampaign->campaign->attribution_model;
} }
if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) { if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) {
......
...@@ -5,8 +5,6 @@ namespace App\Service\Requests\Direct; ...@@ -5,8 +5,6 @@ namespace App\Service\Requests\Direct;
use App\Jobs\ProcessCallLimitedAPI; use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns; use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign; use App\Models\Pivots\DictionaryCampaign;
use App\Service\API\API;
use App\Service\Requests\APIRequest;
use App\Service\Requests\DirectRequest; use App\Service\Requests\DirectRequest;
use Carbon\Carbon; use Carbon\Carbon;
...@@ -42,18 +40,25 @@ class CheckCampaignsChange extends DirectRequest ...@@ -42,18 +40,25 @@ class CheckCampaignsChange extends DirectRequest
$external_id = $campaign_data['CampaignId']; $external_id = $campaign_data['CampaignId'];
if ($this->getToken()->isMain()) { if ($this->getToken()->isMain()) {
$data['external_id'] = $external_id;
$data['token'] = $this->getToken()->getKey(); $data['token'] = $this->getToken()->getKey();
Campaigns::firstOrCreate([
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);
} }
} }
\Log::debug($data);
} }
} }
$this->getToken()->update([ $this->getToken()->update([
...@@ -65,7 +70,7 @@ class CheckCampaignsChange extends DirectRequest ...@@ -65,7 +70,7 @@ class CheckCampaignsChange extends DirectRequest
private function requestPrepare($params) private function requestPrepare($params)
{ {
$this->setService('changes'); $this->setService('changes');
$this->setMethod('checkDictionaries'); $this->setMethod('checkCampaigns');
$this->setParams([ $this->setParams([
"Timestamp" => $this->getToken()->timestamp "Timestamp" => $this->getToken()->timestamp
]); ]);
......
...@@ -6,7 +6,6 @@ use App\Jobs\ProcessCallLimitedAPI; ...@@ -6,7 +6,6 @@ use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns; use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign; use App\Models\Pivots\DictionaryCampaign;
use App\Service\Requests\DirectRequest; use App\Service\Requests\DirectRequest;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
class ResumeCampaigns extends DirectRequest class ResumeCampaigns extends DirectRequest
......
...@@ -34,7 +34,8 @@ class UpdateCampaigns extends DirectRequest ...@@ -34,7 +34,8 @@ class UpdateCampaigns extends DirectRequest
$external_id = $add_result['Id'] ?? ''; $external_id = $add_result['Id'] ?? '';
if (!$external_id) { if (!$external_id) {
Log::debug("AddCampaigns, empty Id, [dictionary_campaigns.id = {$this->dictionaryCampaigns->get($key)->getKey()}]", $add_result); Log::debug("AddCampaigns, empty Id, [dictionary_campaigns.id = {$this->dictionaryCampaigns->get($key)->getKey()}]");
Log::debug($add_result);
continue; continue;
} }
......
...@@ -119,7 +119,7 @@ class CityTest extends TestCase ...@@ -119,7 +119,7 @@ class CityTest extends TestCase
foreach ($this->token->cities as $city) { foreach ($this->token->cities as $city) {
foreach ($city->campaigns as $campaign) { foreach ($city->campaigns as $campaign) {
if ($campaign->id == $campaign_ids[0]) { if ($campaign->id == $campaign_ids[0]) {
$this->assertEquals(false, $campaign->pivot->updated); $this->assertEquals(true, $campaign->pivot->updated);
$this->assertEquals(true, $campaign->pivot->synced); $this->assertEquals(true, $campaign->pivot->synced);
$this->assertEquals(1, $campaign->dictionaryCampaignVariables->count()); $this->assertEquals(1, $campaign->dictionaryCampaignVariables->count());
} else { } else {
...@@ -160,10 +160,8 @@ class CityTest extends TestCase ...@@ -160,10 +160,8 @@ class CityTest extends TestCase
foreach ($this->token->cities as $city) { foreach ($this->token->cities as $city) {
foreach ($city->campaigns as $campaign) { foreach ($city->campaigns as $campaign) {
if ($campaign->id == $campaign_ids[0]) { if ($campaign->id == $campaign_ids[0]) {
/* TODO: не проходит валидацию, атрибуты верные
$this->assertEquals(true, $campaign->pivot->updated); $this->assertEquals(true, $campaign->pivot->updated);
$this->assertEquals(false, $campaign->pivot->synced); $this->assertEquals(false, $campaign->pivot->synced);
*/
} }
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!