"Когорта таргета на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
} else {
$this->stdout(
"Нет данных для формирования когорты для целевой даты {$targetDate}.\n",
$chatIdsArray = array_column($telegramUsers, 'chat_id');
$countTelegramPhones = count($telegramUsers);
$this->stdout(
- "Всего телефонов в когорте {$countTelegramPhones} записей.\n",
+ "Всего телефонов в рассылке телеграма {$countTelegramPhones} записей.\n",
BaseConsole::FG_GREEN
);
if (!empty($telegramUsers)) {
"Когорта таргета на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
} else {
$this->stdout(
"Нет данных для формирования когорты для целевой даты {$targetDate}.\n",
"Когорта для Вотсапа на {$kogortDate} для целевой даты {$targetDate} успешно создана.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones['whatsapp']);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
if ($i == 0) {
// Выбираем номера для отправки через бота
- $telegramUsers = $kogortPhones['secondTarget'];
- /*$this->stdout(
- count($telegramUsers) . "\n",
- BaseConsole::FG_RED
- );*/
+ $telegramUsers = UsersTelegram::find()
+ ->where(['is_blocked' => 0, 'is_registered' => 1])
+ ->andWhere(['phone' => $kogortPhones['secondTarget']])
+ ->select(['phone', 'chat_id'])
+ ->asArray()
+ ->all();
+ $phonesArray = array_column($telegramUsers, 'phone');
+ $chatIdsArray = array_column($telegramUsers, 'chat_id');
+ $countTelegramPhones = count($telegramUsers);
+ $this->stdout(
+ "Всего телефонов в рассылке телеграма {$countTelegramPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
if (!empty($telegramUsers)) {
+ foreach ($telegramUsers as $telegramUser) {
+ $messageData = [];
+ $messageData['chat_id'] = $telegramUser['chat_id'];
+ $messageData['phone'] = $telegramUser['phone'];
+ $messageData['kogort_date'] = $kogortDate;
+ $messageData['target_date'] = $targetDate;
+ $messageData['type'] = 2;
+ $messageData['message'] = $messagesSettings->replaceShortcodes($messagesSettings->offer_2);
+
+ Yii::$app->queue->push(new SendTelegramMessageDBJob([
+ 'messageData' => $messageData,
+ ]));
+ }
$updatedCount = SentKogort::updateAll(
['status' => SentKogort::STATUSES['second']], // Устанавливаем статус "вторая рассылка"
[
'target_date' => $targetDate,
'kogort_number' => SentKogort::KOGORT_NUMBERS['target'],
- 'phone' => $telegramUsers,
+ 'phone' => $phonesArray,
]
);
"Когорта для Вотсапа на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones['whatsapp']);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
} else {
$this->stdout(
"Нет данных для формирования когорты для целевой даты {$targetDate}.\n",
"Когорта звонка на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
} else {
$this->stdout(
"Нет данных для формирования когорты для звонка на дату {$targetDate}.\n",
"Когорта звонка на {$kogortDate} для целевой даты {$targetDate} успешно сохранена.\n",
BaseConsole::FG_GREEN
);
+ $countPhones = count($kogortPhones);
+ $this->stdout(
+ "Всего телефонов в когорте {$countPhones} записей.\n",
+ BaseConsole::FG_GREEN
+ );
} else {
$this->stdout(
"Нет данных для формирования когорты для целевой даты {$targetDate}.\n",