Пример #1
0
 public function afterSave($insert, $changedAttributes)
 {
     $reviews = \common\models\Reviews::find();
     $transaction = new \yii\db\Query();
     $id = $this->review_trainer_id;
     $rating_count = $reviews->where(['review_trainer_id' => $id])->count();
     $rating_count_positive = $reviews->where(['review_trainer_id' => $id])->andWhere('review_rating > 3')->count();
     $amount_sum = $transaction->from('transaction_history')->where("`class_id` IN (SELECT `class_id` FROM `classes` WHERE `class_trainer_id` = " . abs((int) $id) . ")")->sum('amount');
     $rating_count_positive = @round($rating_count_positive / $rating_count * 100);
     $status = (int) $amount_sum > 1000 && $rating_count_positive >= 75 ? 'Gold' : 'Silver';
     PaymentInformations::updateAll(['payment_user_status' => $status], ['payment_user_id' => [$id]]);
 }
Пример #2
0
 public function getColor()
 {
     return $customer = PaymentInformations::find()->select('payment_user_color,payment_image')->where(['payment_user_id' => $this->id])->one();
 }
Пример #3
0
 public function actionGetUserStatusMax()
 {
     $model = new $this->modelClass();
     $user = $model->findIdentityByAccessToken(\Yii::$app->request->get('access-token'));
     if ($user) {
         $data = \common\models\PaymentInformations::findOne(['payment_user_id' => $user->user_id]);
         $status = 'max_sum_for_' . strtolower($data->payment_user_status);
         $status = (int) AdminData::findOne(['admin_data_param' => $status])->admin_data_value;
         return ApiHelper::successResponse($status);
     }
     return ApiHelper::errorResponse(["Incorrect Access."], 422);
 }
Пример #4
0
 private function getReceiver()
 {
     return $this->hasOne(PaymentInformations::className(), ['payment_user_id' => 'receiver_id'])->select('payment_image,payment_first_name,payment_last_name,payment_bussines_name')->where(['payment_user_id' => $this->receiver_id])->all();
 }