예제 #1
0
 public function checkBalanceUser()
 {
     //проверим на лимит созданных заданий на выборку - максимум - 3
     if (!$this->hasErrors()) {
         $balance = User::getBalance();
         if ($balance == 0) {
             $this->addError('words', 'Не достаточно средств на вашем балансе, для создания задания');
         } else {
             //кол-во созданных заданий, но не проверенных
             $count = TasksSearch::find()->andWhere(['status' => self::STATUS_CREATE, 'user_id' => Yii::$app->user->id])->count();
             //подсчитаем на сколько заданий у юзера хватает баланса
             $cost_earlier_tasks = ($count + 1) * Yii::$app->params['task.cost'];
             //+1 - итоговая сумма к списанию за все ранее созданные задания+ текущее
             if ($cost_earlier_tasks > $balance) {
                 $this->addError('words', 'Извините, вам не хватает средств на балансе, пополните баланс');
             }
         }
     }
 }