Пример #1
0
 protected function saveTransfer($modelTransfer)
 {
     $modelTransfer->commission = (double) $modelTransfer->commission;
     $fromTransaction = new Transaction();
     $fromTransaction->setAttributes($modelTransfer->attributes);
     $fromTransaction->accounts = $modelTransfer->fromAccountId;
     $fromTransaction->amount = "{$modelTransfer->fromAmount} + {$modelTransfer->commission}";
     $fromTransaction->accountTransfer = $modelTransfer->toAccountId;
     $fromTransaction->totalTransfer = $modelTransfer->toTotal;
     $fromTransaction->total = $modelTransfer->fromTotal + $modelTransfer->commission;
     $fromTransaction->type_id = TransactionHelper::TYPE_TRANSFER;
     if ($fromTransaction->save()) {
         return true;
     } else {
         return false;
     }
     //        $transaction = Yii::$app->getDb()->beginTransaction();
     //        try {
     //            $saveTransfer = $this->saveFromTransaction($modelTransfer) && $this->saveToTransaction($modelTransfer);
     //            if ($saveTransfer) {
     //                $transaction->commit();
     //            } else {
     //                $transaction->rollback();
     //            }
     //        } catch (\Exception $e) {
     //            $transaction->rollback();
     //            return false;
     //        }
     //
     //        return $saveTransfer;
 }
Пример #2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Transaction::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'amount' => $this->amount, 'accounts' => $this->accounts, 'user_id' => $this->user_id, 'type_id' => $this->type_id, 'status' => $this->status, 'created_at' => $this->created_at]);
     $query->andFilterWhere(['like', 'comment', $this->comment])->andFilterWhere(['like', 'date', $this->date]);
     $query = $this->additionalFilter($query, $params);
     return $dataProvider;
 }
 /**
  * Finds the Transaction model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Transaction the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 public function findModel($id)
 {
     if (($model = Transaction::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Пример #4
0
 public function actionResult()
 {
     $mrh_pass2 = "96542888p2";
     $out_summ = $_GET["OutSum"];
     $inv_id = $_GET["InvId"];
     $crc = $_GET["SignatureValue"];
     $user = $_GET["Shpuser"];
     $crc = strtoupper($crc);
     $my_crc = strtoupper(md5("{$out_summ}:{$inv_id}:{$mrh_pass2}:Shpuser={$user}"));
     if (strtoupper($my_crc) != strtoupper($crc)) {
         echo "bad sign\n";
         exit;
     }
     $t = new Transaction();
     $t->user = $user;
     $t->price = $out_summ;
     $t->status = strval($inv_id);
     $t->time = strval(time());
     if ($t->save()) {
         $ac = Account::findOne(['id' => $user]);
         $ac->balance = $ac->balance + $out_summ;
         $ac->save();
     }
     echo "OK{$inv_id}\n";
 }