From: Alexander Smirnov Date: Fri, 21 Mar 2025 09:27:41 +0000 (+0300) Subject: [ERP-326] не пересылать повторно X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=974cacf0e76b1e41bcce0d6eae5cebcf2e266584;p=erp24_rep%2Fyii-erp24%2F.git [ERP-326] не пересылать повторно --- diff --git a/erp24/jobs/SendTelegramTestMessageJob.php b/erp24/jobs/SendTelegramTestMessageJob.php index d6928136..46fb009d 100644 --- a/erp24/jobs/SendTelegramTestMessageJob.php +++ b/erp24/jobs/SendTelegramTestMessageJob.php @@ -5,16 +5,31 @@ namespace yii_app\jobs; use GuzzleHttp\Client; use Yii; +use yii\helpers\Json; use yii\queue\JobInterface; +use yii_app\records\MarketplaceOrders; use yii_app\services\TelegramService; class SendTelegramTestMessageJob extends \yii\base\BaseObject implements JobInterface { public $message; + public $guid; public function execute($queue) { $message = $this->message; + $guid = $this->guid; + + $marketplaceOrders = MarketplaceOrders::find()->where(['status_telegram' => MarketplaceOrders::STATUS_TELEGRAM_NOT_SENT, 'guid' => $guid])->one(); + if (!$marketplaceOrders) { + return; + } + /* @var MarketplaceOrders $marketplaceOrders */ + $marketplaceOrders->status_telegram = MarketplaceOrders::STATUS_TELEGRAM_PREPARED_TO_SEND; + $marketplaceOrders->save(); + if ($marketplaceOrders->getErrors()) { + Yii::error("Ошибка отправки сообщения в Telegram: " . Json::encode($marketplaceOrders->getErrors()), 'site'); + } $botToken = TelegramService::TELEGRAM_BOT_DEV; $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage"; @@ -30,6 +45,11 @@ class SendTelegramTestMessageJob extends \yii\base\BaseObject implements JobInte 'parse_mode' => 'MarkdownV2', ], ]); + $marketplaceOrders->status_telegram = MarketplaceOrders::STATUS_TELEGRAM_SENT; + $marketplaceOrders->save(); + if ($marketplaceOrders->getErrors()) { + Yii::error("Ошибка отправки сообщения в Telegram: " . Json::encode($marketplaceOrders->getErrors()), 'site'); + } } catch (\Exception $e) { Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram'); } diff --git a/erp24/records/MarketplaceOrders.php b/erp24/records/MarketplaceOrders.php index 47d7523e..adbf0915 100644 --- a/erp24/records/MarketplaceOrders.php +++ b/erp24/records/MarketplaceOrders.php @@ -110,7 +110,8 @@ class MarketplaceOrders extends \yii\db\ActiveRecord parent::afterSave($insert, $changedAttributes); Yii::$app->queue->push(new \yii_app\jobs\SendTelegramTestMessageJob([ - 'message' => "Тестовое сообщение для https://tracker.yandex.ru/ERP-326 из afterSave " . $this->guid + 'message' => "Тестовое сообщение для https://tracker.yandex.ru/ERP-326 из afterSave", + 'guid' => $this->guid, ])); }