]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Отправка в базу без рэббит по отправке сообщения в ТГ
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 23 Jan 2025 10:50:33 +0000 (13:50 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 23 Jan 2025 10:50:33 +0000 (13:50 +0300)
erp24/commands/CronController.php
erp24/jobs/SendTelegramMessageJob.php

index be672657ecafc65d4f1f30653671b3db62ccd409..7d81f14c243c00a2a37e5f7a7305769f87e2e407 100644 (file)
@@ -377,12 +377,8 @@ class CronController extends Controller
                         $messageData['type'] = 1;
                         $messageData['message'] = $messageText;
 
-                        Yii::$app->queue->push(new SendTelegramMessageDBJob([
-                            'messageData' =>  $messageData,
-                        ]));
                         Yii::$app->queue->push(new SendTelegramMessageJob([
-                            'chatId' =>  $telegramUser['chat_id'],
-                            'message' =>  $messageData['message'],
+                            'messageData' => $messageData,
                         ]));
                     }
                 }
@@ -635,12 +631,8 @@ class CronController extends Controller
                         $messageData['type'] = 2;
                         $messageData['message'] = $messageText;
 
-                        Yii::$app->queue->push(new SendTelegramMessageDBJob([
-                            'messageData' => $messageData,
-                        ]));
                         Yii::$app->queue->push(new SendTelegramMessageJob([
-                            'chatId' => $telegramUser['chat_id'],
-                            'message' => $messageData['message'],
+                            'messageData' => $messageData,
                         ]));
                     }
                 }
index 9bab6ac52349febeda4982413a6157e216ffb4a9..74da300a125e5524a39aae69095b66dd2a251a26 100644 (file)
@@ -9,8 +9,7 @@ use yii_app\services\TelegramService;
 
 class SendTelegramMessageJob extends \yii\base\BaseObject implements JobInterface
 {
-    public $chatId;
-    public $message;
+    public $messageData;
 
     public static $messagesSent = 0;
     public static $lastResetTime;
@@ -31,18 +30,37 @@ class SendTelegramMessageJob extends \yii\base\BaseObject implements JobInterfac
             self::$messagesSent = 0;
         }
 
+        $chatId = ($this->messageData)['chat_id'];
+        $phone = ($this->messageData)['phone'];
+        $message = ($this->messageData)['message'];
+
         try {
-            $result = TelegramService::sendMessageToTelegramClient($this->chatId, $this->message);
+            $result = TelegramService::sendMessageToTelegramClient($chatId, $message);
 
             if ($result == "OK") {
-                Yii::warning("Сообщение успешно отправлено пользователю с ID {$this->chatId} {$result}", 'telegram');
+                try {
+                    $result = TelegramService::saveSentMessageToDB($this->messageData);
+
+                    if ($result) {
+                        Yii::warning("Сообщение успешно сохранено для пользователя с ID {$chatId} телефон {$phone}", 'telegram');
+                    } else {
+                        Yii::warning("Сообщение не удалось сохранить для пользователя с ID {$chatId} телефон {$phone}", 'telegram');
+                    }
+
+                } catch (\Exception $e) {
+                    Yii::error(
+                        "Сообщение не удалось сохранить для пользователя ID {$chatId} телефон {$phone}: " . $e->getMessage(),
+                        'telegram'
+                    );
+                }
+                Yii::warning("Сообщение успешно отправлено пользователю с ID {$chatId} {$result}", 'telegram');
             } else {
-                Yii::warning("Сообщение не удалось отправить пользователю ID {$this->chatId} {$result}", 'telegram');
+                Yii::warning("Сообщение не удалось отправить пользователю ID {$chatId} {$result}", 'telegram');
             }
 
         } catch (\Exception $e) {
             Yii::error(
-                "Сообщение не удалось отправить пользователю ID {$this->chatId}: " . $e->getMessage(),
+                "Сообщение не удалось отправить пользователю ID {$chatId}: " . $e->getMessage(),
                 'telegram'
             );
         }