// ->andWhere() //заглушка на проверку что он уже участвовал в
->andWhere(['phone' => $usersArray]);
+ $messagesSettings = UsersMessageManagement::find()
+ ->where(['active' => 1])
+ ->one();
+
if ($type === 'whatsapp') {
+
+
+ $step1 = $messagesSettings ? $messagesSettings->day_before_step1 : 10;
+ $step2 = $messagesSettings ? $messagesSettings->day_before_step2 : 4;
+
+ $excludeSalesPhone = Sales::find()
+ ->where(['>=', 'date', date('Y-m-d', strtotime("$startDate -$step1 days"))])
+ ->andWhere(['<=', 'date', date('Y-m-d', strtotime("$startDate -$step2 days"))])
+ ->distinct('phone')
+ ->select('phone')
+ ->column();
+ $query->andWhere(['not in', 'phone', $excludeSalesPhone]);
$query->andWhere(['telegram_is_subscribed' => 0]);
} elseif ($type === 'call') {
+
+ $step2 = $messagesSettings ? $messagesSettings->day_before_step2 : 4;
+ $step3 = $messagesSettings ? $messagesSettings->day_before_step3 : 2;
+
$excludeSalesPhone = Sales::find()
- ->where(['>=', 'date', date('Y-m-d', strtotime("$startDate -7 days"))])
- ->andWhere(['<=', 'date', date('Y-m-d', strtotime("$startDate -2 days"))])
+ ->where(['>=', 'date', date('Y-m-d', strtotime("$startDate -$step2 days"))])
+ ->andWhere(['<=', 'date', date('Y-m-d', strtotime("$startDate -$step3 days"))])
->distinct('phone')
->select('phone')
->column();