Commit c90fd5ec authored by Antonio.Suerte's avatar Antonio.Suerte

BI API Enhancement for User Balance Interface

parent beb9b201
......@@ -8,29 +8,46 @@
trait UserBalances{
public function generateBalances(ParamHolder $holder){
$sys = $holder -> getSource();
if($sys instanceof System){
$account = $sys -> getRowData($sys -> getAccountCommon($holder -> userAccount), NO_COUNT);
$balances = $sys -> accessSelect('SELECT_USER_BALANCES',
[$sys -> getColumnData($account, PARAM_USER_ACCOUNT)]);
$holder -> userAccount = str_replace(""", "\"", $holder -> userAccount);
// 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"]);
}
$accountBalanceData = [];
$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
];
if($sys -> checkJSONString($holder -> userAccount)){
$holder -> userAccount = json_decode($holder -> userAccount);
foreach($holder -> userAccount as $value){
$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 {
],
[
"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}]",
"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