- Добавлено перемешивание массива ссылок в случайном порядке;

- Добавление прерывание отправки кейсов пользователю, после отправки первого;
parent 057adeea
...@@ -124,8 +124,14 @@ class DefaultController extends BaseController ...@@ -124,8 +124,14 @@ class DefaultController extends BaseController
$baseUrl = 'http://task-on.com/'; $baseUrl = 'http://task-on.com/';
// Получили массив url-ов в категории // Получили массив url-ов в категории
$urls = ArrayHelper::map(CoContent::find()->where(['category_id'=>$category_id])->all(), 'id', 'url'); $urls = ArrayHelper::map(CoContent::find()->where(['category_id'=>$category_id])->all(), 'id', 'url');
// Перемешали массив ссылок в случайном порядке
shuffle($urls);
// Перебираем в цикле пользователей // Перебираем в цикле пользователей
foreach($users as $user) { foreach($users as $user) {
// Определили отправленность сообщения
$sendedToUser=false;
// Если письмо юзеру еще не отправлено
if ($sendedToUser===false) {
// Получили дату для дальнейшего сравнения // Получили дату для дальнейшего сравнения
$deliveryDate = new \DateTime($user->delivery_date); $deliveryDate = new \DateTime($user->delivery_date);
// Если пользователь подписан и дата соответствует требованиям // Если пользователь подписан и дата соответствует требованиям
...@@ -148,6 +154,8 @@ class DefaultController extends BaseController ...@@ -148,6 +154,8 @@ class DefaultController extends BaseController
// Производим отправку // Производим отправку
/** @var \DateTime $time_now */ /** @var \DateTime $time_now */
TriggerSchedule::sendMessage($email, $template_id, $templateData, null); TriggerSchedule::sendMessage($email, $template_id, $templateData, null);
// Произвели отправку, следовательно переопределили значение переменной
$sendedToUser=true;
} }
} }
// Создали дату следующей отправки // Создали дату следующей отправки
...@@ -164,4 +172,5 @@ class DefaultController extends BaseController ...@@ -164,4 +172,5 @@ class DefaultController extends BaseController
} }
} }
} }
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment