Beispiel #1
0
 /**
  * Get All notifications of a user.
  *
  * @author Kuldeep Dangi <*****@*****.**>
  */
 public function actionEarned($userId)
 {
     $model = new Transaction();
     $this->result['data'] = $model->getAmount($userId, array(5));
     $this->result['success'] = true;
     $this->sendResponse($this->result);
 }
 protected function createTransaction(\SimpleXMLElement $node, Transaction $tx, Account $account)
 {
     $nodes = ['accountFrom' => $account->getAccountNumber(), 'currency' => $tx->getCurrency(), 'amount' => number_format($tx->getAmount(), 2), 'accountTo' => $tx->getAccountNumber(), 'bankCode' => $tx->getBankCode(), 'ks' => $tx->getConstantSymbol(), 'vs' => $tx->getVariableSymbol(), 'ss' => $tx->getSpecificSymbol(), 'date' => $tx->getDate()->format('Y-m-d'), 'messageForRecipient' => $tx->getUserMessage(), 'comment' => $tx->getComment(), 'paymentType' => $tx->getSpecification()];
     foreach ($nodes as $el => $value) {
         if (!empty($value)) {
             $node->addChild($el, $value);
         }
     }
 }
 protected function createTransaction(\SimpleXMLElement $node, Transaction $tx, Account $account)
 {
     $nodes = ['accountFrom' => $account->getAccountNumber(), 'currency' => $tx->getCurrency(), 'amount' => number_format($tx->getAmount(), 2), 'accountTo' => $tx->getAccountNumber(), 'ks' => $tx->getConstantSymbol(), 'vs' => $tx->getVariableSymbol(), 'ss' => $tx->getSpecificSymbol(), 'bic' => $tx->getBankCode(), 'date' => $tx->getDate()->format('Y-m-d'), 'comment' => $tx->getComment(), 'benefName' => $tx->getBenefName(), 'benefStreet' => $tx->getBenefStreet(), 'benefCity' => $tx->getBenefCity(), 'benefCountry' => $tx->getBenefCountry(), 'remittanceInfo1' => $tx->getRemittanceInfo1(), 'remittanceInfo2' => $tx->getRemittanceInfo2(), 'remittanceInfo3' => $tx->getRemittanceInfo3(), 'paymentType' => $tx->getSpecification()];
     foreach ($nodes as $el => $value) {
         if (!empty($value)) {
             $node->addChild($el, $value);
         }
     }
 }
Beispiel #4
0
 public static function forTransaction(Transaction $transaction, $url_success = '')
 {
     $u_id = $transaction->getIdReceiver();
     $u = UserTable::getInstance()->findOneById($u_id);
     switch ($u->getUtype()) {
         case 'puser':
             $onpay_login = SettingTable::getInstance()->findOneByName('pOnpayLogin')->getValue();
             $private_code = SettingTable::getInstance()->findOneByName('pApiCode')->getValue();
             break;
         case 'uuser':
             $onpay_login = SettingTable::getInstance()->findOneByName('uOnpayLogin')->getValue();
             $private_code = SettingTable::getInstance()->findOneByName('uApiCode')->getValue();
             break;
         default:
             throw new sfException('Неизвестный тип пользователя в транзакции при инициализации платежа OnPay');
             break;
     }
     return new OnPay($onpay_login, $private_code, $transaction->getId(), $transaction->getAmount(), $url_success);
 }
Beispiel #5
0
 public static function addFundsFin(Transaction $transaction)
 {
     if ($transaction->getIsPaid()) {
         // транзакция уже была обработана
         return false;
     } else {
         $transaction->addFundsFin();
     }
     // set new balance
     $user = UserTable::getInstance()->findOneById($transaction->getIdReceiver());
     $user->setBalans($transaction->getReceiverBalanceAfter());
     $user->save();
     $amount = $transaction->getAmount();
     // write to BalanceUser instance
     if (!($userBalance = BalanceUserTable::getByUserIdAndPeriodId($user->getId()))) {
         $userBalance = new BalanceUser();
         $userBalance->setPeriod(Period::getCurrentPeriod());
         $userBalance->setUser($user);
     }
     $userBalance->setAddFunds($userBalance->getAddFunds() + $amount);
     $userBalance->save();
     if (!($systemBalance = BalanceSystem::getCurrentBalanceInstance())) {
         sfContext::getInstance()->getLogger()->info('aS4W Error: getCurrentBalanceInstance return false');
         return false;
     }
     if ($user->getUSerTypePrefix() == 'u') {
         $systemBalance->setDepositUser($systemBalance->getDepositUser() + $amount);
     } else {
         switch ($user->getTariff()) {
             case 'standart':
                 $systemBalance->setDepositStandart($systemBalance->getDepositStandart() + $amount);
                 break;
             case 'super':
                 $systemBalance->setDepositSuper($systemBalance->getDepositSuper() + $amount);
                 break;
             case 'expert':
                 $systemBalance->setDepositExpert($systemBalance->getDepositExpert() + $amount);
                 break;
         }
     }
     $systemBalance->save();
     // If user blocked try UnBlock
     if ($user->is_blocked) {
         $user->tryUnBlockUser();
     }
     return true;
 }
 /**
  * Helper function for adding transactions to the daily balance.
  * 
  * @param Transaction $transaction
  * @param boolean $sort Flag for disabling sort on insert. Used for bulk loading.
  */
 private function safeInsertDate(Transaction $transaction, $sort = false)
 {
     $date = $transaction->getDate();
     if (!array_key_exists($date, $this->mDailyBalances)) {
         $this->mDailyBalances[$date] = 0.0;
     }
     $this->mDailyBalances[$date] += $transaction->getAmount();
     if ($sort) {
         uksort($this->mDailyBalances, array($this, "dateCompare"));
     }
 }