Commit 6b2d759a authored by Antonio.Suerte's avatar Antonio.Suerte

BI API Enhancement for User Balance Interface

parent e15eef5a
...@@ -8,29 +8,46 @@ ...@@ -8,29 +8,46 @@
trait UserBalances{ trait UserBalances{
public function generateBalances(ParamHolder $holder){ public function generateBalances(ParamHolder $holder){
$sys = $holder -> getSource(); $sys = $holder -> getSource();
if($sys instanceof System){ if($sys instanceof System){
$account = $sys -> getRowData($sys -> getAccountCommon($holder -> userAccount), NO_COUNT); $holder -> userAccount = str_replace(""", "\"", $holder -> userAccount);
$balances = $sys -> accessSelect('SELECT_USER_BALANCES',
[$sys -> getColumnData($account, PARAM_USER_ACCOUNT)]);
// enhancements $accountBalanceData = [];
foreach($balances as &$balance){
unset($balance["user_account"]);
$balance["balance"] = $sys -> intToCurrency($balance["balance"], $balance["currency"]);
$balance["withdraw_amount"] = $sys -> intToCurrency($balance["withdraw_amount"], $balance["currency"]);
$balance["deposit_amount"] = $sys -> intToCurrency($balance["deposit_amount"], $balance["currency"]);
}
$result = [ if($sys -> checkJSONString($holder -> userAccount)){
"user_account" => $sys -> getColumnData($account, COLUMN_USER_ACCOUNT), $holder -> userAccount = json_decode($holder -> userAccount);
"account_name" => $sys -> getColumnData($account, COLUMN_FIRST_NAME)." "
.$sys -> getColumnData($account, COLUMN_LAST_NAME), foreach($holder -> userAccount as $value){
"user_balances" => $balances $accountBalanceData["balanceData"][] = $this -> fetchUserBalanceData($sys, $value);
]; }
}else
$accountBalanceData["balanceData"][] = $this -> fetchUserBalanceData($sys, $holder -> userAccount);
echo json_encode($result); echo json_encode($accountBalanceData);
} }
} }
private function fetchUserBalanceData(System $sys, String $userAccount){
$account = $sys -> getRowData($sys -> getAccountCommon($userAccount), NO_COUNT);
$balances = $sys -> accessSelect('SELECT_USER_BALANCES',
[$sys -> getColumnData($account, PARAM_USER_ACCOUNT)]);
// enhancements
foreach($balances as &$balance){
unset($balance["user_account"]);
$balance["balance"] = $sys -> intToCurrency($balance["balance"], $balance["currency"]);
$balance["withdraw_amount"] = $sys -> intToCurrency($balance["withdraw_amount"], $balance["currency"]);
$balance["deposit_amount"] = $sys -> intToCurrency($balance["deposit_amount"], $balance["currency"]);
}
$result = [
"user_account" => $sys -> getColumnData($account, COLUMN_USER_ACCOUNT),
"account_name" => $sys -> getColumnData($account, COLUMN_FIRST_NAME)." "
.$sys -> getColumnData($account, COLUMN_LAST_NAME),
"user_balances" => $balances
];
return $result;
}
} }
\ No newline at end of file
...@@ -50,7 +50,8 @@ trait ValidationExpression { ...@@ -50,7 +50,8 @@ trait ValidationExpression {
], ],
[ [
"notvalid" => !$holder -> open && $holder -> view == "userBalance" "notvalid" => !$holder -> open && $holder -> view == "userBalance"
&& count($sys -> getAccountCommon($holder -> userAccount)) === 0, && count($sys -> getAccountCommon($holder -> userAccount)) === 0
&& !$sys -> checkJSONString(str_replace(""", "\"", $holder -> userAccount)),
"message" => "[User Balance Result]: Account No. doesn't exist [{$holder -> userAccount}]", "message" => "[User Balance Result]: Account No. doesn't exist [{$holder -> userAccount}]",
"code" => 8 "code" => 8
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment