From: fomichev Date: Thu, 26 Dec 2024 08:22:03 +0000 (+0300) Subject: Исправление миграции sent_kogort и добавление hold X-Git-Tag: 1.7~94^2~32 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=752350c4a7f7c9a181cfed214dc9246b5e9ff367;p=erp24_rep%2Fyii-erp24%2F.git Исправление миграции sent_kogort и добавление hold --- 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 - поле активировано