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; }
/** * 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.'); } }
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"; }