public function actionSendOne() { $db = \Yii::$app->db; /** @var Message $model */ $model = Message::find()->where(['status' => Message::STATUS_NEW])->orderBy(['id' => SORT_ASC, 'priority' => SORT_DESC])->one(); if (!$model) { return false; } $transaction = $db->beginTransaction(); try { $model->status = $this->component->send($model->to, $model->text, $model->transport) ? Message::STATUS_SENT : Message::STATUS_ERROR; $model->updateAttributes(['status']); $transaction->commit(); } catch (\Exception $e) { $transaction->rollback(); throw $e; } return true; }
public function actionDashboard() { $stat = ['new' => Message::find()->where(['status' => Message::STATUS_NEW])->count(), 'sent' => Message::find()->where(['status' => Message::STATUS_SENT])->count(), 'error' => Message::find()->where(['status' => Message::STATUS_ERROR])->count()]; return $this->render('@vendor/yii-dream-team/yii2-sms-center/src/backend/views/stat/dashboard', ['stat' => $stat]); }