From 90238201ce7e4c07d232a0990212565abe922fee Mon Sep 17 00:00:00 2001 From: marina Date: Fri, 7 Mar 2025 15:34:24 +0300 Subject: [PATCH] =?utf8?q?ERP-355=20=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0?= =?utf8?q?=D1=82=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B7=D0=B2=D0=BE?= =?utf8?q?=D0=BD=D0=BA=D0=BE=D0=B2=20=D1=80=D0=BE=D0=B1=D0=BE=D1=82=D0=BE?= =?utf8?q?=D0=BC=20=D0=B8=D0=B7=20=D0=BA=D0=BE=D0=B3=D0=BE=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../api2/controllers/LPTrackerController.php | 37 ------------- erp24/commands/CronController.php | 55 ++++++++++++++++--- erp24/config/console.php | 5 ++ erp24/{api2 => }/records/LPTrackerApi.php | 0 erp24/records/SentKogort.php | 5 +- 5 files changed, 55 insertions(+), 47 deletions(-) delete mode 100644 erp24/api2/controllers/LPTrackerController.php rename erp24/{api2 => }/records/LPTrackerApi.php (100%) diff --git a/erp24/api2/controllers/LPTrackerController.php b/erp24/api2/controllers/LPTrackerController.php deleted file mode 100644 index b458cab2..00000000 --- a/erp24/api2/controllers/LPTrackerController.php +++ /dev/null @@ -1,37 +0,0 @@ -get('/projects'); - var_dump($response); - } - - public function actionGetFunnels() - { -// $api = new LPTrackerApi(); -// //GET contact/search?project_id=[project_id]&phone=[phone]&email=[email] -// $response = $api->get("/contact/search?project_id=117605&phone=79036571587&email="); -// -// echo '
';
-//        var_dump($response);
-//        echo '
'; - } - - public function actionTest() - { -// $api = new LPTrackerApi(); - -// var_dump($response); -// die(); - - } - -} \ No newline at end of file diff --git a/erp24/commands/CronController.php b/erp24/commands/CronController.php index 45e98faf..99488f60 100644 --- a/erp24/commands/CronController.php +++ b/erp24/commands/CronController.php @@ -2,8 +2,8 @@ namespace yii_app\commands; -use app\jobs\SendTelegramMessageDBJob; use app\jobs\SendTelegramMessageJob; +use app\records\LPTrackerApi; use DateTime; use DateTimeZone; use Yii; @@ -11,14 +11,8 @@ use yii\console\Controller; use yii\console\ExitCode; use yii\db\Expression; use yii\helpers\BaseConsole; -use yii\helpers\Console; use yii_app\helpers\ClientHelper; use yii_app\records\BonusLevels; -use yii_app\records\EqualizationRemains; -use yii_app\records\Product1cReplacement; -use yii_app\records\Products1c; -use yii_app\records\ReplacementInvoice; -use yii_app\records\ReplacementInvoiceProducts; use yii_app\records\Sales; use yii_app\records\SentKogort; use yii_app\records\Users; @@ -584,7 +578,6 @@ class CronController extends Controller return ExitCode::OK; } - public function actionSendSecondTelegramMessage() { $messagesSettings = UsersMessageManagement::find()->one(); @@ -792,6 +785,52 @@ class CronController extends Controller return ExitCode::OK; } + /** + * ERP-355 + * Отправка контактов для обзвона в LPTracker + */ + public function actionSendContactsToLptracker() + { + try { + + $numbers = SentKogort::findAll(['kogort_number' => SentKogort::CALL, 'kogort_date' => date('Y-m-d'), 'status' => SentKogort::READY_TO_UPLOAD_LPTRACKER_STATUS]); + + foreach ($numbers as $number) { + $api = new LPTrackerApi(); + $response = $api->post('lead', [ + 'contact' => [ + 'project_id' => LPTrackerApi::SERVICE, + 'name' => $number->user?->name, + 'details' => [ + [ + 'type' => 'phone', + 'data' => $number->phone, + ] + ] + ], + //признак того что звонок должен поступать сразу после загрузки лида + //поставить true при согласовании с маркетингом + //также добавить признак повод звонка при необходимости + 'callback' => false, + 'funnel' => LPTrackerApi::SERVICE, + 'lead_date' => date('d.m.Y H:i'), + 'deal_date' => date('d.m.Y H:i'), + 'owner' => 0, + 'payments' => [ + ], + ]); + if ($response['status'] == LPTrackerApi::SUCCESS_STATUS) { + SentKogort::updateAll(['status' => SentKogort::SUCCESS_UPLOAD_TO_LPTRACKER_STATUS], ['id' => $number->id]); + } else { + SentKogort::updateAll(['status' => SentKogort::ERROR_UPLOAD_TO_LPTRACKER_STATUS], ['id' => $number->id]); + throw new \Exception("ОШИБКА С LPTRACKER\n" . implode('. ', array_map(fn($error) => $error['message'], $response['errors']))); + } + } + } catch (\Exception $exception) { + throw new \Exception($exception); + } + } + public function options($actionID) { $options = parent::options($actionID); diff --git a/erp24/config/console.php b/erp24/config/console.php index b15ac017..abb400af 100755 --- a/erp24/config/console.php +++ b/erp24/config/console.php @@ -62,6 +62,11 @@ $config = [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], + [ + 'class' => 'app\log\TelegramTarget', + 'levels' => ['error', 'warning'], + // 'categories' => ['api.error', 'js.error', 'command.error'], + ], ], ], 'db' => require dirname(__DIR__) . '/config/db.php', diff --git a/erp24/api2/records/LPTrackerApi.php b/erp24/records/LPTrackerApi.php similarity index 100% rename from erp24/api2/records/LPTrackerApi.php rename to erp24/records/LPTrackerApi.php diff --git a/erp24/records/SentKogort.php b/erp24/records/SentKogort.php index c0de3a42..8accdc52 100644 --- a/erp24/records/SentKogort.php +++ b/erp24/records/SentKogort.php @@ -21,8 +21,9 @@ use Yii; class SentKogort extends \yii\db\ActiveRecord { public const CALL = 3; - public const SUCCESS_UPLOAD_TO_LPTRACKER_STATUS = 1; - public const ERROR_UPLOAD_TO_LPTRACKER_STATUS = 2; + public const READY_TO_UPLOAD_LPTRACKER_STATUS = 1; + public const SUCCESS_UPLOAD_TO_LPTRACKER_STATUS = 11; + public const ERROR_UPLOAD_TO_LPTRACKER_STATUS = 22; public const KOGORT_NUMBERS = [ 'target' => 1, -- 2.39.5