Commit 2825b9f9 by Vladislav

#20709 Восстановление ключевых фраз

1 parent 58b54e19
......@@ -154,6 +154,7 @@ class Keyword extends Model
&& $data['state'] == $this->state
&& $data['status'] == $this->status
&& $data['serving_status'] == $this->serving_status
&& $data['deleted_at'] == $this->deleted_at
;
}
}
......@@ -58,7 +58,6 @@ class GetKeywords extends DirectRequest
{
$connection = config('database.default');
$now = $connection=='sqlite'? DB::raw("strftime('%Y-%m-%d %H:%M:%S', datetime('now'))") : DB::raw('now()');
try {
$external_ids = [];
......@@ -94,6 +93,7 @@ class GetKeywords extends DirectRequest
// $campaign_ids_synced_need = [];
$insertData = [];
$now = Carbon::now();
$cnt = 0;
$items = [];
foreach ($response['result']['Keywords'] as $keyword) {
......@@ -125,14 +125,14 @@ class GetKeywords extends DirectRequest
'deleted_at' => null //не забыть убрать признак удаления, если вдруг опять пришла удаленная ранее фраза
];
$keyword_data = Keyword::where('external_id', $external_id)->get()->first();
$keyword_data = Keyword::where('external_id', $external_id)->withTrashed()->get()->first();
if ($keyword_data){
if (!$keyword_data->equals($data)){
//если данные изменились, то надо обновить и в кеше и пометить на то что надо их выгрузить
$k_upd = Keyword::where('external_id', $external_id);
Log::debug($keyword_data);
unset($data['external_id']);
$k_upd->update($data);
$k_upd->get()->first()->goalKeywords()->update(['updated_need' => $now]);
//если данные изменились, то надо обновить и в кеше и пометить на то что надо их выгрузить
$keyword_data->update($data);
$keyword_data->goalKeywords()->update(['updated_need' => $now]);
}else{
$items[] = $external_id;
}
......@@ -158,6 +158,7 @@ class GetKeywords extends DirectRequest
]);
}
$now = $connection=='sqlite'? DB::raw("strftime('%Y-%m-%d %H:%M:%S', datetime('now'))") : DB::raw('now()');
//удаление будет толко когда получаем изменения по группам, иначе это либо загрузка все фраз либо как то избранных
if ( !empty($this->getParams()['SelectionCriteria']['AdGroupIds']) &&
!isset($response['result']['LimitedBy']) ){
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!