Commit 2825b9f9 by Vladislav

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

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