Commit 8e3017cb authored by Shakarim Sapa's avatar Shakarim Sapa

- Добавлен метод проверяющий таблицу с расписанием на наличие закрытых условий

parent 1c4f501e
......@@ -3,7 +3,10 @@
namespace common\modules\triggers\controllers;
use common\components\BaseController;
use common\modules\triggers\components\conditions\Conditions;
use common\modules\triggers\models\TriggerSchedule;
use common\modules\triggers\models\TriggerTrigger;
use \DateTime;
/**
* Default controller for the `triggers` module
......@@ -12,7 +15,8 @@ class DefaultController extends BaseController
{
public static function actionsTitles(){
return [
'Index' => 'Главная страница модуля'
'Index' => 'Главная страница модуля',
'Rechecktriggers' => 'Запуск проверки срабатывания триггеров'
];
}
/**
......@@ -24,7 +28,20 @@ class DefaultController extends BaseController
return $this->render('index');
}
public function actionRecheckTriggers(){
$uncheckedArray = TriggerSchedule::find()->where(['checked' => 0])->all();
public function actionRechecktriggers(){
// Получили текущую дату и время
$timeNow = new DateTime();
// Получили все те сообщения которые еще не обработаны и имеют дату равную или меньше текущей
$uncheckedArray = TriggerSchedule::find()->where('checked=:checked AND date_create <= :date_create', [':checked' => 0, ':date_create' => $timeNow->format('Y-m-d H:i:s')])->all();
// Получили все актуальные триггеры в базе
$actualTriggers = TriggerTrigger::getActualTriggers();
// Перебираем эти сообщения в цикле
foreach($uncheckedArray as $message) {
// Проверяем каждое сообщение на срабатывание триггера
foreach($actualTriggers as $trigger) {
// Вызвали срабатывание условий, передав управление методу
Conditions::init()->handleMessageByTriggerId($message, $trigger->getPrimaryKey());
}
}
}
}
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