From: fomichev Date: Wed, 25 Dec 2024 13:19:08 +0000 (+0300) Subject: Перенос последовательности блоков X-Git-Tag: 1.7~94^2~37 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=d67d7c91dbacc28b02867dc40437af51ad05d875;p=erp24_rep%2Fyii-erp24%2F.git Перенос последовательности блоков --- diff --git a/erp24/commands/CronController.php b/erp24/commands/CronController.php index ef833adb..45f54d90 100644 --- a/erp24/commands/CronController.php +++ b/erp24/commands/CronController.php @@ -383,9 +383,35 @@ class CronController extends Controller $firstName = $remoteUser['first_name']; $isBlocked = (int)$remoteUser['is_blocked']; $isRegistered = (int)$remoteUser['is_registered']; + + $user = UsersTelegramChatId::findOne(['chat_id' => $chatId]); + + if (!$user) { + $user = new UsersTelegramChatId([ + 'chat_id' => $chatId, + 'phone' => $phone, + 'username' => $username ?? 'Клиент из чатбота', + 'first_name' => $firstName ?? 'Клиент из чатбота', + 'is_blocked' => $isBlocked, + 'is_registered' => $isRegistered, + ]); + $user->save(false); + } + if ( + $user->is_blocked != $isBlocked || + $user->is_registered != $isRegistered || + $user->phone != $phone + ) { + $user->is_blocked = $isBlocked; + $user->is_registered = $isRegistered; + $user->phone = $phone; + } + + $user->save(false); + if (empty($phone)) { // fputcsv($fileHandle, [$phone, $username, $chatId, $isBlocked, $isRegistered, 'Отсутствует телефон'], ';'); - // continue; + continue; } $existingLog = UsersTelegramLog::find() @@ -406,30 +432,6 @@ class CronController extends Controller $this->createTelegramLog($phone, $isBlocked, $isRegistered); } - $user = UsersTelegramChatId::findOne(['chat_id' => $chatId]); - - if (!$user) { - $user = new UsersTelegramChatId([ - 'chat_id' => $chatId, - 'phone' => $phone, - 'username' => $username ?? 'Клиент из чатбота', - 'first_name' => $firstName ?? 'Клиент из чатбота', - 'is_blocked' => $isBlocked, - 'is_registered' => $isRegistered, - ]); - $user->save(false); - } - if ( - $user->is_blocked != $isBlocked || - $user->is_registered != $isRegistered || - $user->phone != $phone - ) { - $user->is_blocked = $isBlocked; - $user->is_registered = $isRegistered; - $user->phone = $phone; - } - - $user->save(false); } $offset += $batchSize; diff --git a/erp24/controllers/UsersMessageManagementController.php b/erp24/controllers/UsersMessageManagementController.php index 9b441eb5..05e0d98d 100644 --- a/erp24/controllers/UsersMessageManagementController.php +++ b/erp24/controllers/UsersMessageManagementController.php @@ -419,28 +419,6 @@ class UsersMessageManagementController extends Controller $firstName = $remoteUser['first_name']; $isBlocked = (int)$remoteUser['is_blocked']; $isRegistered = (int)$remoteUser['is_registered']; - if (empty($phone)) { - // fputcsv($fileHandle, [$phone, $username, $chatId, $isBlocked, $isRegistered, 'Отсутствует телефон'], ';'); - // continue; - } - - $existingLog = UsersTelegramLog::find() - ->where(['phone' => $phone, 'date_end' => null]) - ->one(); - - if ($existingLog) { - if ( - $existingLog->is_blocked != $isBlocked || - $existingLog->is_registered != $isRegistered - ) { - $existingLog->date_end = date('Y-m-d H:i:s'); - $existingLog->save(false); - - $this->createTelegramLog($phone, $isBlocked, $isRegistered); - } - } else { - $this->createTelegramLog($phone, $isBlocked, $isRegistered); - } $user = UsersTelegramChatId::findOne(['chat_id' => $chatId]); @@ -466,6 +444,31 @@ class UsersMessageManagementController extends Controller } $user->save(false); + + if (empty($phone)) { + // fputcsv($fileHandle, [$phone, $username, $chatId, $isBlocked, $isRegistered, 'Отсутствует телефон'], ';'); + continue; + } + + $existingLog = UsersTelegramLog::find() + ->where(['phone' => $phone, 'date_end' => null]) + ->one(); + + if ($existingLog) { + if ( + $existingLog->is_blocked != $isBlocked || + $existingLog->is_registered != $isRegistered + ) { + $existingLog->date_end = date('Y-m-d H:i:s'); + $existingLog->save(false); + + $this->createTelegramLog($phone, $isBlocked, $isRegistered); + } + } else { + $this->createTelegramLog($phone, $isBlocked, $isRegistered); + } + + } $offset += $batchSize;