コード例 #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
 /**
  * @param Transaction $model
  *
  * @return \yii\web\Response
  */
 protected function saveModel($model)
 {
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $transaction2Category = '';
         if (isset(Yii::$app->request->post('Transaction')['categoryIds'])) {
             $transaction2Category = Yii::$app->request->post('Transaction')['categoryIds'];
         }
         if ($model->save()) {
             if (!empty($transaction2Category)) {
                 TransactionHelper::saveTransaction2Category($transaction2Category, $model->id);
             }
             Yii::$app->getSession()->setFlash('success', 'Транзакция создана.');
             return $this->redirect(['index']);
         }
     }
 }
コード例 #3
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";
 }