Commit 2676cf9f by Vladislav

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

1 parent 1fbee67f
...@@ -145,6 +145,25 @@ class Campaigns extends Model ...@@ -145,6 +145,25 @@ class Campaigns extends Model
]); ]);
} }
/**
* @return array
*/
static public function getSettingOptionsAllow()
{
return [
'ADD_METRICA_TAG',
'ADD_OPENSTAT_TAG',
'ADD_TO_FAVORITES',
'ENABLE_AREA_OF_INTEREST_TARGETING',
'ENABLE_COMPANY_INFO',
'ENABLE_SITE_MONITORING',
'EXCLUDE_PAUSED_COMPETING_ADS',
'MAINTAIN_NETWORK_CPC',
'REQUIRE_SERVICING',
'CAMPAIGN_EXACT_PHRASE_MATCHING_ENABLED',
];
}
public static function boot() public static function boot()
{ {
parent::boot(); parent::boot();
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Service\Requests\Direct; namespace App\Service\Requests\Direct;
use App\Jobs\ProcessCallLimitedAPI; use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign; use App\Models\Pivots\DictionaryCampaign;
use App\Models\Variable; use App\Models\Variable;
use App\Service\Requests\DirectRequest; use App\Service\Requests\DirectRequest;
...@@ -29,6 +30,7 @@ class AddCampaigns extends DirectRequest ...@@ -29,6 +30,7 @@ class AddCampaigns extends DirectRequest
public function handle($response) public function handle($response)
{ {
try { try {
Log::debug($response);
foreach ($response['result']['AddResults'] as $key => $add_result) { foreach ($response['result']['AddResults'] as $key => $add_result) {
$id = $add_result['Id'] ?? ''; $id = $add_result['Id'] ?? '';
...@@ -117,7 +119,21 @@ class AddCampaigns extends DirectRequest ...@@ -117,7 +119,21 @@ class AddCampaigns extends DirectRequest
} }
if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) { if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) {
$data['TextCampaign']['Settings'] = $dictionaryCampaign->campaign->settings;
$settingsAllow = Campaigns::getSettingOptionsAllow();
$settings = [];
foreach ($dictionaryCampaign->campaign->settings as $setting) {
if (isset($setting['Option']) && in_array($setting['Option'], $settingsAllow)) {
$settings[] = $setting;
}
}
if (count($settings)) {
$data['TextCampaign']['Settings'] = $settings;
}
} }
if ($dictionaryCampaign->campaign->counter_ids && count($dictionaryCampaign->campaign->counter_ids)) { if ($dictionaryCampaign->campaign->counter_ids && count($dictionaryCampaign->campaign->counter_ids)) {
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Service\Requests\Direct; namespace App\Service\Requests\Direct;
use App\Jobs\ProcessCallLimitedAPI; use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign; use App\Models\Pivots\DictionaryCampaign;
use App\Models\Variable; use App\Models\Variable;
use App\Service\Requests\DirectRequest; use App\Service\Requests\DirectRequest;
...@@ -118,7 +119,21 @@ class UpdateCampaigns extends DirectRequest ...@@ -118,7 +119,21 @@ class UpdateCampaigns extends DirectRequest
} }
if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) { if ($dictionaryCampaign->campaign->settings && count($dictionaryCampaign->campaign->settings)) {
$data['TextCampaign']['Settings'] = $dictionaryCampaign->campaign->settings;
$settingsAllow = Campaigns::getSettingOptionsAllow();
$settings = [];
foreach ($dictionaryCampaign->campaign->settings as $setting) {
if (isset($setting['Option']) && in_array($setting['Option'], $settingsAllow)) {
$settings[] = $setting;
}
}
if (count($settings)) {
$data['TextCampaign']['Settings'] = $settings;
}
} }
if ($dictionaryCampaign->campaign->counter_ids && count($dictionaryCampaign->campaign->counter_ids)) { if ($dictionaryCampaign->campaign->counter_ids && count($dictionaryCampaign->campaign->counter_ids)) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!