From 35026deea9935c24cd6c05d512bcb24b0527e2d6 Mon Sep 17 00:00:00 2001 From: fomichev Date: Mon, 10 Feb 2025 12:00:03 +0300 Subject: [PATCH] =?utf8?q?=D0=9E=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0?= =?utf8?q?=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?utf8?q?=D0=B2=20=D0=B1=D0=BE=D1=82=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B0?= =?utf8?q?=D1=87=D0=B8=D1=81=D0=BB=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B1=D0=BE?= =?utf8?q?=D0=BD=D1=83=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/commands/CronController.php | 12 ++++++++++++ erp24/services/TelegramService.php | 23 +++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/erp24/commands/CronController.php b/erp24/commands/CronController.php index 6c8c6484..b1e21839 100644 --- a/erp24/commands/CronController.php +++ b/erp24/commands/CronController.php @@ -27,6 +27,7 @@ use yii_app\records\UsersBonusLevels; use yii_app\records\UsersMessageManagement; use yii_app\records\UsersTelegram; use yii_app\records\UsersTelegramLog; +use yii_app\services\TelegramService; class CronController extends Controller { @@ -427,6 +428,7 @@ class CronController extends Controller ->andWhere(['date_start' => $kogortDate]) ->column(); $testPhones = array_map('trim', explode(',', $messagesSettings->test_phones_list)); + $countBonuses = 0; foreach ($kogortPhones as $key => $phone) { if (in_array($phone, $testPhones)) { continue; @@ -450,9 +452,19 @@ class CronController extends Controller ); } else { Users::updateAll(['burn_balans' => $bonus], ['phone' => '' . $phone]); + $countBonuses += 1; } } } + if ($countBonuses !== $countPhones) { + $messageBonuses = "⚠️ Внимание! + Количество начисленных бонусов отличается от количества телефонов в когорте.\n\n" . + "📅 Для когорты **{$kogortDate}** — всего **{$countPhones}** номеров.\n" . + "🎯 На целевую дату **{$targetDate}** бонусы начислены только для **{$countBonuses}** номеров.\n\n" . + "📢 Проверьте данные!"; + + TelegramService::sendTargetStatToTelegramMessage($messageBonuses); + } } else { $this->stdout( "Нет данных для отправки сообщений для когорты для целевой даты {$targetDate}.\n", diff --git a/erp24/services/TelegramService.php b/erp24/services/TelegramService.php index 7db12d6a..7e81bd1a 100644 --- a/erp24/services/TelegramService.php +++ b/erp24/services/TelegramService.php @@ -74,6 +74,29 @@ class TelegramService } } + public static function sendTargetStatToTelegramMessage($message) + { + $botToken = self::TELEGRAM_BOT_DEV; + $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage"; + $chats = ['337084327', '730432579']; //Алексей и Владимир + $message = self::escapeMarkdown($message); + $client = new Client(); + foreach ($chats as $chatId) { + try { + $client->post($apiURL, [ + 'json' => [ + 'chat_id' => $chatId, + 'text' => $message, + 'parse_mode' => 'MarkdownV2', + + ], + ]); + } catch (\Exception $e) { + Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram'); + } + } + } + public static function sendMessageToTelegramClient($chatId, $message) { if (self::isDevEnv()) { -- 2.39.5