From: Alexander Smirnov Date: Tue, 25 Feb 2025 13:28:57 +0000 (+0300) Subject: [ERP-326] scheduler send telegram X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=7c713ba28df76d8afcd8e9edef909d4d8e45d277;p=erp24_rep%2Fyii-erp24%2F.git [ERP-326] scheduler send telegram --- diff --git a/erp24/scripts/tasks/task_35_new_order_to_telegram.php b/erp24/scripts/tasks/task_35_new_order_to_telegram.php new file mode 100644 index 00000000..792446ba --- /dev/null +++ b/erp24/scripts/tasks/task_35_new_order_to_telegram.php @@ -0,0 +1,125 @@ +setTaskNum($taskNum) + ->setName('Task ' . $taskNum) + ->setDate($dateTask) + ->setDateStart($dateTaskStart) + ; + $validate = $schedulerTaskLog->validate(); + if ($validate) { + $schedulerTaskLog->save(); + } + //////////////////////////////////////////////////////////////////////// + Meeting::updateAll(['location' => 2], ['location' => 1]); + $meeting = Meeting::find()->where(['location' => 1])->one(); + if ($meeting) { + Meeting::updateAll(['location' => 3], ['location' => 2]); + + $botToken = TelegramService::TELEGRAM_BOT_DEV; + $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage"; + $chats = ['337084327', '5489795686']; //Алексей + $message = TelegramService::escapeMarkdown("Тестовое сообщение для https://tracker.yandex.ru/ERP-326 из шедулера"); + $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'); + } + } + } + //////////////////////////////////////////////////////////////////////// + $info = ' ================ test Task ' . $taskNum . ' stop ================'; + echo $info; + $log .= $info; + $log .= ' date >= ' . strtotime("-1 week", $time); + $dateTaskStop = date('Y-m-d H:i:s', $time); + } else { + $info = ' Task ' . $taskNum . ' skip '; + echo $info; + $log .= $info; + } +} catch (Exception $e) { + $error = 'Exception: ' . $e->getMessage() . ' ' . $e->getFile() . ' >>> ' . $e->getLine(); +} + +if (empty($schedulerTaskLog)) { + $schedulerTaskLog = new SchedulerTaskLog(); + $schedulerTaskLog->setTaskNum($taskNum) + ->setName('Task ' . $taskNum) + ->setDate($dateTask) + ->setDateStart($dateTaskStart) + ->setDateStop($dateTaskStop) + ->setDescription($description) + ->setError($error) + ->setInfo($infoText) + ->setLog($log) + ; +} else { + $schedulerTaskLog->setDateStop($dateTaskStop) + ->setDescription($description) + ->setError($error) + ->setInfo($infoText) + ->setLog($log) + ; +} +$validate = $schedulerTaskLog->validate(); +if ($validate) { + $schedulerTaskLog->save(); +}