Commit 2676cf9f by Vladislav

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

1 parent 1fbee67f
......@@ -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()
{
parent::boot();
......
......@@ -3,6 +3,7 @@
namespace App\Service\Requests\Direct;
use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign;
use App\Models\Variable;
use App\Service\Requests\DirectRequest;
......@@ -29,6 +30,7 @@ class AddCampaigns extends DirectRequest
public function handle($response)
{
try {
Log::debug($response);
foreach ($response['result']['AddResults'] as $key => $add_result) {
$id = $add_result['Id'] ?? '';
......@@ -117,7 +119,21 @@ class AddCampaigns extends DirectRequest
}
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)) {
......
......@@ -3,6 +3,7 @@
namespace App\Service\Requests\Direct;
use App\Jobs\ProcessCallLimitedAPI;
use App\Models\Campaigns;
use App\Models\Pivots\DictionaryCampaign;
use App\Models\Variable;
use App\Service\Requests\DirectRequest;
......@@ -118,7 +119,21 @@ class UpdateCampaigns extends DirectRequest
}
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)) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!