/** * Тестирование проверки обязательных параметров */ public function testException() { $this->setExpectedException('BadFunctionCallException'); $command = new DeleteProfilerList(); $command->setData("ddd"); $command->execute(); }
/** * √енерируем дату создани¤ и обновл¤ем дату обновлени¤ * @inheritDoc */ public function beforeSave($insert) { if ($this->isNewRecord) { $this->date_create = Yii::$app->formatter->asDate('now', 'yyyy-MM-dd H:m:s'); $command = new DeleteProfilerList(); $result = $command->setData($this->project_id)->execute(); } $this->date_update = Yii::$app->formatter->asDate('now', 'yyyy-MM-dd H:m:s'); return parent::beforeSave($insert); }
/** * @param GearmanJob|null $job * @return mixed */ public function execute(GearmanJob $job = null) { $data = $this->getWorkload($job)->getParams()['data']; if (!isset($data['id']) or !isset($data['project_id']) or !isset($data['staff_id']) or !is_int($data['staff_id']) or !is_int($data['id']) or !is_int($data['project_id'])) { $job->sendStatus(400, 400); return false; } $id = $data['id']; $project_id = $data['project_id']; $staff = $data['staff_id']; // ”даление из кеша даты последнего просмотра пользователем профайлера LastActiveDate::getModel(LastActiveDate::TYPE_PROFILER)->setData($id)->setUserId($staff)->delete(); // ”даление всех данных по профайлеру Profiler::deleteAll(['message_id' => $id]); // ”даление из кеша списка профайлеров по проекту $command = new DeleteProfilerList(); $command->setData($project_id)->execute(); $job->sendStatus(200, 200); return true; }
/** * @param GearmanJob|null $job * @return mixed */ public function execute(GearmanJob $job = null) { $data = $data = $this->getWorkload($job)->getParams()['data']; $id = $data['id']; $staff = $data['staff_id']; if (!is_int($id) or !is_int($staff)) { $job->sendStatus(400, 400); return false; } // Удаление из кеша даты последнего просмотра пользователем профайлеров проекта $profiler = ListProfiler::findAll(['project_id' => $id]); $profilerId = ArrayHelper::getColumn($profiler, 'id'); LastActiveDate::getModel(LastActiveDate::TYPE_PROFILER)->setData($profilerId)->setUserId($staff)->delete(); // Удаление списка профайлеров проекта ListProfiler::deleteAll(['project_id' => $id]); // Удаление данных проекта Profiler::deleteAll(['project_id' => $id]); // Удаление из кеша списка профайлеров проекта $command = new DeleteProfilerList(); $command->setData($id)->execute(); $job->sendStatus(200, 200); return true; }