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('Дата когорты'),
'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');
}
}
->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]))
$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);
* @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 - поле активировано