From c1b7bab6df5e9dfec21f620565b16ab228cca2fb Mon Sep 17 00:00:00 2001 From: fomichev Date: Mon, 10 Mar 2025 10:05:51 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B8=20?= =?utf8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B3?= =?utf8?q?=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B8=20?= =?utf8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/commands/CronController.php | 49 +++++++++++++++++++++---------- erp24/records/Users.php | 3 +- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/erp24/commands/CronController.php b/erp24/commands/CronController.php index 4a62d7b7..3570e31a 100644 --- a/erp24/commands/CronController.php +++ b/erp24/commands/CronController.php @@ -228,6 +228,7 @@ class CronController extends Controller $currentDate = sprintf('%04d-%02d-%02d', $currentYear, $currentMonth, $currentDay); $step1 = $messagesSettings ? $messagesSettings->day_before_step1 : 10; + $testActive = $messagesSettings ? (bool)($messagesSettings->test_phones_active) : false; $stepsBack = $this->stepsBack ?? $step1; // Генерация для прошлых дат (от текущей даты на $step1 дней назад) @@ -238,14 +239,15 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'target'); if (!empty($kogortPhones)) { - Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['target'], true); + $dataSaved = Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['target'], $testActive); $this->stdout( "Когорта таргета на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n", BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { @@ -264,14 +266,15 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'target'); if (!empty($kogortPhones)) { - Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['target'], true); + $dataSaved = Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['target'], true); $this->stdout( "Когорта таргета на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n", BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { @@ -514,7 +517,7 @@ class CronController extends Controller $stepsBack = $this->stepsBack ?? 0; $step2 = $messagesSettings ? $messagesSettings->day_before_step2 : 4; - + $testActive = $messagesSettings ? (bool)($messagesSettings->test_phones_active) : false; for ($i = $stepsBack; $i >= 0; $i--) { $kogortDate = date('Y-m-d', strtotime("-$i days", strtotime($currentDate))); $targetDate = date('Y-m-d', strtotime("+$step2 days", strtotime($kogortDate))); @@ -522,20 +525,21 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'whatsapp'); if (!empty($kogortPhones)) { - Users::saveKogort( + $dataSaved = Users::saveKogort( $kogortPhones['whatsapp'], $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['whatsapp'], - true + $testActive ); $this->stdout( "Когорта для Вотсапа на {$kogortDate} для целевой даты {$targetDate} успешно создана.\n", BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones['whatsapp']); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { @@ -555,7 +559,7 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'whatsapp'); if (!empty($kogortPhones)) { - Users::saveKogort( + $dataSaved = Users::saveKogort( $kogortPhones['whatsapp'], $kogortDate, $targetDate, @@ -567,8 +571,9 @@ class CronController extends Controller BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones['whatsapp']); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { @@ -890,7 +895,7 @@ class CronController extends Controller $currentDate = $this->time ? date('Y-m-d', (int)$this->time) : date('Y-m-d'); $stepsBack = $this->stepsBack ?? 0; $step3 = $messagesSettings ? $messagesSettings->day_before_step3 : 2; - + $testActive = $messagesSettings ? (bool)($messagesSettings->test_phones_active) : false; for ($i = $stepsBack; $i >= 0; $i--) { $kogortDate = date('Y-m-d', strtotime("-$i days", strtotime($currentDate))); $targetDate = date('Y-m-d', strtotime("+$step3 days", strtotime($kogortDate))); @@ -898,14 +903,21 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'call'); if (!empty($kogortPhones)) { - Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['call'], true); + $dataSaved = Users::saveKogort( + $kogortPhones, + $kogortDate, + $targetDate, + SentKogort::KOGORT_NUMBERS['call'], + $testActive + ); $this->stdout( "Когорта звонка на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n", BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { @@ -924,14 +936,21 @@ class CronController extends Controller $kogortPhones = Users::formKogortByDateAndType($targetDate, 'call'); if (!empty($kogortPhones)) { - Users::saveKogort($kogortPhones, $kogortDate, $targetDate, SentKogort::KOGORT_NUMBERS['call'], true); + $dataSaved = Users::saveKogort( + $kogortPhones, + $kogortDate, + $targetDate, + SentKogort::KOGORT_NUMBERS['call'], + true + ); $this->stdout( "Когорта звонка на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n", BaseConsole::FG_GREEN ); $countPhones = count($kogortPhones); + $countSaved = count($dataSaved); $this->stdout( - "Всего телефонов в когорте {$countPhones} записей.\n", + "Всего телефонов в когорте {$countPhones} записей. Сохранено {$countSaved}\n", BaseConsole::FG_GREEN ); } else { diff --git a/erp24/records/Users.php b/erp24/records/Users.php index e2c88210..115e9d1f 100755 --- a/erp24/records/Users.php +++ b/erp24/records/Users.php @@ -640,9 +640,8 @@ class Users extends \yii\db\ActiveRecord $sentKogort->status = 1; $sentKogort->kogort_number = $kogort_number; $sentKogort->save(false); + $data[] = ['phone' => $phone]; } - - $data[] = ['phone' => $phone]; } return $data; } -- 2.39.5