From 752350c4a7f7c9a181cfed214dc9246b5e9ff367 Mon Sep 17 00:00:00 2001 From: fomichev Date: Thu, 26 Dec 2024 11:22:03 +0300 Subject: [PATCH] =?utf8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5?= =?utf8?q?=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=B8=D0=B3=D1=80=D0=B0=D1=86=D0=B8?= =?utf8?q?=D0=B8=20sent=5Fkogort=20=D0=B8=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?utf8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20hold?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- ...241220_131428_create_sent_kogort_table.php | 3 ++- erp24/records/Users.php | 19 +++++++++++++------ erp24/records/UsersMessageManagement.php | 1 + 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/erp24/migrations/m241220_131428_create_sent_kogort_table.php b/erp24/migrations/m241220_131428_create_sent_kogort_table.php index 24389c02..cde25f6c 100644 --- a/erp24/migrations/m241220_131428_create_sent_kogort_table.php +++ b/erp24/migrations/m241220_131428_create_sent_kogort_table.php @@ -17,7 +17,7 @@ class m241220_131428_create_sent_kogort_table extends Migration if (!isset($tableSchema)) { $this->createTable(self::TABLE_NAME, [ - 'id' => $this->primaryKey(), + 'id' => $this->bigInteger(), 'phone' => $this->string(15)->notNull()->comment('Телефон пользователя'), 'kogort_number' => $this->integer()->notNull()->comment('Номер типа когорты когорты'), 'kogort_date' => $this->date()->notNull()->comment('Дата когорты'), @@ -27,6 +27,7 @@ class m241220_131428_create_sent_kogort_table extends Migration 'purchase' => $this->tinyInteger(1)->notNull()->defaultValue(0)->comment('Покупка'), 'created_at' => $this->dateTime()->notNull()->defaultExpression('CURRENT_TIMESTAMP')->comment('Дата создания записи'), ]); + $this->addPrimaryKey('pk_sent_kogort', self::TABLE_NAME, 'id'); } } diff --git a/erp24/records/Users.php b/erp24/records/Users.php index b0096fb1..3e437051 100755 --- a/erp24/records/Users.php +++ b/erp24/records/Users.php @@ -470,6 +470,8 @@ class Users extends \yii\db\ActiveRecord ->one(); $step1 = $messagesSettings ? $messagesSettings->day_before_step1 : 10; + $hold = $messagesSettings ? $messagesSettings->hold : 10; + $holdActive = $messagesSettings ? $messagesSettings->hold_active : 1; $salesPhone = Sales::find() ->where(new \yii\db\Expression("TO_CHAR(date, 'MM-DD') = :monthDay", [':monthDay' => $monthDay])) @@ -485,12 +487,17 @@ class Users extends \yii\db\ActiveRecord $usersArray = array_unique(array_merge($salesPhone, $memorableDate)); - $phonesSent = SentKogort::find() - ->select('phone') - ->where(['between', 'kogort_date', - date('Y-m-d', strtotime("$startDate -$step1 days")), - date('Y-m-d', strtotime("$startDate -1 days"))]) - ->column(); + if ($holdActive == 1) { + $phonesSent = SentKogort::find() + ->select('phone') + ->where(['between', 'kogort_date', + date('Y-m-d', strtotime("$startDate -$hold days")), + date('Y-m-d', strtotime("$startDate -1 days"))]) + ->column(); + } else { + $phonesSent =[]; + } + $filteredUsers = array_diff($usersArray, $phonesSent); $kogortData = array_values($filteredUsers); diff --git a/erp24/records/UsersMessageManagement.php b/erp24/records/UsersMessageManagement.php index 7e44123f..ebe801f4 100644 --- a/erp24/records/UsersMessageManagement.php +++ b/erp24/records/UsersMessageManagement.php @@ -23,6 +23,7 @@ use Yii; * @property int $created_by ID создателя записи * @property string $updated_at Дата обновления * @property int $updated_by ID обновления записи + * @property int $hold Количество дней удержания номера от рассылки * @property int $hold_active 0 - поле деактивировано, 1 - поле активировано * @property int $day_before_step1_active 0 - поле деактивировано, 1 - поле активировано * @property int $day_before_step2_active 0 - поле деактивировано, 1 - поле активировано -- 2.39.5