]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Правки и улучшения генерации и вывода
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 10 Mar 2025 07:05:51 +0000 (10:05 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 10 Mar 2025 07:05:51 +0000 (10:05 +0300)
erp24/commands/CronController.php
erp24/records/Users.php

index 4a62d7b791ca12bcb0c77a87b76df4563da87513..3570e31aca8c03667197ec3d1e03feaec842d0f2 100644 (file)
@@ -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 {
index e2c88210f756799e4d3563e996c7c4b347dcfea6..115e9d1f9dc72479a7675072aef063faf0ea1cfd 100755 (executable)
@@ -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;
     }