Commit ff2fdde6 by Vladislav

#19473 Получение кеша фраз

1 parent 194df9a4
......@@ -15,7 +15,7 @@ class AdGroupsLoadKeywords extends Command
*
* @var string
*/
protected $signature = 'adGroups:loadKeywords';
protected $signature = 'adgroups:loadKeywords';
/**
* The console command description.
......
......@@ -42,9 +42,8 @@ class AdGroupsLoadUpdated extends Command
public function handle()
{
$adGroups = AdGroup::has('campaignForEnabledForManaged')->forUpdatedSelf()->get();
if (!$adGroups->count()) {
return;
}
if ($adGroups->count()) {
$token = Tokens::where('type', Tokens::MAIN)->first();
if (!$token) {
......@@ -67,6 +66,8 @@ class AdGroupsLoadUpdated extends Command
'AdGroupIds' => $ids,
]);
}
$tokens = Tokens::has('dictionaryCampaignsEnabledForExternalSynchronized.groupsForExternalForUpdatedSelf')
->with('dictionaryCampaignsEnabledForExternalSynchronized.groupsForExternalForUpdatedSelf')
->where('type', '!=', Tokens::MAIN)
......
......@@ -53,7 +53,7 @@ class AdGroupsUpdate extends Command
$factory->setToken($token);
$factory->getRequest('AdGroup', 'update')
$factory->getRequest('AdGroups', 'update')
->call([
'goalAdGroups' => $token->dictionaryCampaignsEnabledForExternalUpdated->pluck('groupsForExternalForNeedUpdated')
->collapse(),
......
......@@ -41,9 +41,7 @@ class CampaignsCheckUpdatedChildrenAdGroups extends Command
*/
public function handle()
{
if (!Campaigns::forUpdatedChildren()->exists()) {
return;
}
if (Campaigns::forUpdatedChildren()->exists()) {
$token = Tokens::where('type', Tokens::MAIN)->first();
if (!$token) {
......@@ -61,6 +59,8 @@ class CampaignsCheckUpdatedChildrenAdGroups extends Command
'Timestamp' => $token->check_changes_ad_group_at->toIso8601ZuluString(),
]);
}
$tokens = Tokens::has('dictionaryCampaignsEnabledForExternalSynchronizedUpdatedChildren')
->with('dictionaryCampaignsEnabledForExternalSynchronizedUpdatedChildren')
->where('type', '!=', Tokens::MAIN)
......
......@@ -6,6 +6,7 @@ use App\Models\Tokens;
use App\Service\API\API;
use App\Service\Requests\APIRequest;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
class CampaignsFirstLoad extends Command
{
......@@ -48,8 +49,10 @@ class CampaignsFirstLoad extends Command
$factory = APIRequest::getInstance(API::YANDEX);
$factory->setToken($token);
$factory->getRequest('Changes', 'CheckDictionaries')->call();
$factory->getRequest('Campaigns', 'get')->call();
Artisan::call(DictionariesLoad::class);
Artisan::call(CampaignsLoadGroups::class);
Artisan::call(AdGroupsLoadKeywords::class);
return 0;
}
......
......@@ -63,15 +63,6 @@ class CampaignsLoadGroups extends Command
'CampaignIds' => $campaign_ids,
]);
$factory = APIRequest::getInstance(API::YANDEX);
$factory->setToken($token);
$factory->getRequest('Keywords', 'get')
->call([
'CampaignIds' => $campaign_ids,
]);
return 0;
}
}
......@@ -44,9 +44,8 @@ class CampaignsLoadUpdated extends Command
public function handle()
{
$campaigns = Campaigns::forEnabled()->forUpdatedSelf()->get();
if (!$campaigns->count()) {
return;
}
if ($campaigns->count()) {
$token = Tokens::where('type', Tokens::MAIN)->first();
if (!$token) {
......@@ -60,6 +59,8 @@ class CampaignsLoadUpdated extends Command
'ids' => $campaigns->pluck('external_id')->all(),
]);
}
$tokens = Tokens::has('dictionaryCampaignsEnabledForExternalSynchronizedUpdatedSelf')
->with('dictionaryCampaignsEnabledForExternalSynchronizedUpdatedSelf')
->where('type', '!=', Tokens::MAIN)
......
......@@ -97,9 +97,18 @@ class TokensController extends Controller
return Redirect::back();
}
$campaign->update([
$data = [
'manage' => !!request('managed'),
];
if ($data['manage']) {
$data['groups_loaded_at'] = null;
$campaign->groups()->update([
'keywords_loaded_at' => null,
]);
}
$campaign->update($data);
return Redirect::back()->with('success', 'Campaign ' . ($campaign->manage ? 'added' : 'deleted') . '.');
}
......@@ -116,14 +125,21 @@ class TokensController extends Controller
return Redirect::back();
}
$enabled = !!request('enabled');
$data = [
'enabled' => !!request('enabled'),
];
$campaign->update([
'enabled' => $enabled,
if ($data['enabled']) {
$data['groups_loaded_at'] = null;
$campaign->groups()->update([
'keywords_loaded_at' => null,
]);
}
$campaign->update($data);
$campaign->dictionaryCampaigns()->update([
'enabled' => $enabled,
'enabled' => $campaign->enabled,
]);
return Redirect::back()->with('success', 'Campaign ' . ($campaign->enabled ? 'enabled' : 'disabled') . '.');
......
......@@ -126,9 +126,9 @@ class GetKeywords extends DirectRequest
'external_id' => $external_id
], $data);
// $ad_group->update([
// 'keywords_loaded_at' => Carbon::now(),
// ]);
$ad_group->update([
'keywords_loaded_at' => Carbon::now(),
]);
} else {
$goalKeyword = GoalKeyword::firstWhere('external_id', $external_id);
......
......@@ -70,10 +70,15 @@ class UpdateAdGroups extends DirectRequest
}
}
public function putParams($params)
{
$this->goalAdGroups = $params['goalAdGroups'];
}
private function requestPrepare($params)
{
$this->setService('AdGroups');
$this->setMethod('add');
$this->setMethod('update');
$this->putParams($params);
......
......@@ -26,6 +26,7 @@ class CreateGoalAdGroupsTable extends Migration
$table->timestamp('updated_need')->nullable();
$table->timestamp('updated_self')->nullable();
$table->timestamps();
$table->timestamps();
$table->foreign('dictionary_campaign_id')->references('id')->on('dictionary_campaigns')
......@@ -42,6 +43,6 @@ class CreateGoalAdGroupsTable extends Migration
*/
public function down()
{
Schema::dropIfExists('dictionary_campaigns');
Schema::dropIfExists('goal_ad_groups');
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!