balance Inquiry ready !!!
This commit is contained in:
parent
54c7a2e28b
commit
088dbd0d96
@ -36,6 +36,8 @@ import com.utsmyanmar.paylibs.model.PayDetail;
|
||||
import com.utsmm.kbz.util.ecr.CoreUtils;
|
||||
|
||||
import com.utsmyanmar.paylibs.utils.LogUtil;
|
||||
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
@ -229,14 +231,23 @@ public class ProcessingFragment extends DataBindingFragment {
|
||||
|
||||
private void updateData(){
|
||||
|
||||
PayDetail payDetail;
|
||||
if(isEmvTrans()) {
|
||||
LogUtil.d(TAG,"Updated sharedViewmodel payDetail for emv");
|
||||
sharedViewModel.payDetail.setValue(emvTransactionProcessViewModel.payDetailResult.getValue());
|
||||
payDetail = emvTransactionProcessViewModel.payDetailResult.getValue();
|
||||
} else {
|
||||
LogUtil.d(TAG,"Updated sharedViewmodel payDetail for non emv");
|
||||
sharedViewModel.payDetail.setValue(transProcessViewModel.payDetailResult.getValue());
|
||||
|
||||
payDetail = transProcessViewModel.payDetailResult.getValue();
|
||||
}
|
||||
sharedViewModel.payDetail.setValue(payDetail);
|
||||
if (sharedViewModel.transactionsType.getValue() == TransactionsType.BALANCE_INQUIRY && payDetail != null) {
|
||||
sharedViewModel.amount.setValue(POSUtil.getInstance().getDecimalAmountSeparatorFormat(payDetail.getAmount()));
|
||||
LogUtil.d(TAG,"amount :"+payDetail.getAmount());
|
||||
}
|
||||
|
||||
// if(sharedViewModel.transactionsType.getValue() == TransactionsType.BALANCE_INQUIRY) {
|
||||
// sharedViewModel.amount.setValue(Objects.requireNonNull(sharedViewModel.payDetail.getValue()).amount + "");
|
||||
// }
|
||||
|
||||
// if(sharedViewModel.payDetail.getValue() != null) {
|
||||
// EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
||||
|
||||
@ -98,6 +98,7 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
Boolean isVoidEnabled = SystemParamsOperation.getInstance().getVoidStatus();
|
||||
Boolean isPreAuthEnabled = SystemParamsOperation.getInstance().getPreAuthStatus();
|
||||
Boolean isCashAdvanceEnabled = SystemParamsOperation.getInstance().getCashAdvanceStatus();
|
||||
Boolean isBalanceInquiryEnabled = SystemParamsOperation.getInstance().getBalanceInquiryStatus();
|
||||
private void initData() {
|
||||
featuresList.clear();
|
||||
|
||||
@ -137,6 +138,11 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
}
|
||||
break;
|
||||
|
||||
// case BALANCE_INQUIRY:
|
||||
// if(isBalanceInquiryEnabled){
|
||||
// featuresList.add(feature);
|
||||
// }
|
||||
// break;
|
||||
default:
|
||||
featuresList.add(feature);
|
||||
break;
|
||||
@ -184,6 +190,9 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
case DEVICE_CONFIG:
|
||||
new DashboardTransFragment.ClickEvent().onClickDeviceConfig();
|
||||
break;
|
||||
case BALANCE_INQUIRY:
|
||||
new DashboardTransFragment.ClickEvent().onClickBalanceInquiry();
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
@ -294,6 +303,16 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
|
||||
}
|
||||
|
||||
public void onClickBalanceInquiry() {
|
||||
showCurrencyChooserForCardFlow(() -> {
|
||||
sharedViewModel.setTransactionsType(TransactionsType.BALANCE_INQUIRY);
|
||||
sharedViewModel.setTransMenu(TransMenu.BALANCE_INQUIRY);
|
||||
routeId = R.id.action_dashboardTransFragment_to_cardWaitingFragment;
|
||||
safeRouteTo(currentId, routeId, hostId);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void onClickClearReversal() {
|
||||
sharedViewModel.transactionsType.postValue(TransactionsType.CLEAR_REVERSAL);
|
||||
sharedViewModel.setTransMenu(TransMenu.CLEAR_REVERSAL);
|
||||
|
||||
@ -11,6 +11,7 @@ public enum FeaturesType {
|
||||
PRE_AUTH_COMPLETE,
|
||||
PRE_AUTH_COMPLETE_VOID,
|
||||
REFUND,
|
||||
BALANCE_INQUIRY,
|
||||
MANAGEMENT_FEATURES,
|
||||
TIP_ADJUSTMENT,
|
||||
QR_PAY,
|
||||
|
||||
@ -204,7 +204,7 @@ public class TMSUtil {
|
||||
boolean preAuthCancelStatus = true;
|
||||
boolean preAuthCompleteStatus = true;
|
||||
boolean preAuthCompleteCancelStatus = true;
|
||||
|
||||
boolean balanceInquiryStatus = true;
|
||||
|
||||
preAuthStatus = SystemParamsOperation.getInstance().getPreAuthStatus();
|
||||
voidStatus = SystemParamsOperation.getInstance().getVoidStatus();
|
||||
@ -222,7 +222,7 @@ public class TMSUtil {
|
||||
featuresList.add(new Features(6, fragmentActivity.getString(R.string.menu_preauth_completion), R.drawable.ic_pre_auth_dash, FeaturesType.PRE_AUTH_COMPLETE, preAuthCompleteStatus));
|
||||
// featuresList.add(new Features(5, fragmentActivity.getString(R.string.menu_wavepay_inquiry), R.drawable.ic_wave_status_dash, FeaturesType.WAVE_PAY_INQUIRY, wavePayInquiryStatus));
|
||||
featuresList.add(new Features(1, fragmentActivity.getString(R.string.menu_cash_advance), R.drawable.ic_cash_advance, FeaturesType.CASH_ADVANCE, cashAdvanceStatus));
|
||||
// featuresList.add(new Features(9, fragmentActivity.getString(R.string.menu_history), R.drawable.ic_history, FeaturesType.HISTORY, true));
|
||||
featuresList.add(new Features(9, fragmentActivity.getString(R.string.menu_balance), R.drawable.ic_bank_card, FeaturesType.BALANCE_INQUIRY, balanceInquiryStatus));
|
||||
featuresList.add(new Features(11, "Clear Reversal", R.drawable.ic_clear_all, FeaturesType.CLEAR_REVERSAL, true));
|
||||
featuresList.add(new Features(10, "Configs", R.drawable.ic_host, FeaturesType.DEVICE_CONFIG, true));
|
||||
}
|
||||
|
||||
@ -634,6 +634,12 @@
|
||||
app:popUpToInclusive="true"
|
||||
android:id="@+id/action_dashboardTransFragment_to_deviceConfig"
|
||||
app:destination="@id/hostConfigFragment" />
|
||||
<action
|
||||
app:launchSingleTop="true"
|
||||
app:popUpTo="@+id/dashboardTransFragment"
|
||||
app:popUpToInclusive="true"
|
||||
android:id="@+id/action_dashboardTransFragment_to_cardWaitingFragment"
|
||||
app:destination="@id/cardWaitingFragment" />
|
||||
</fragment>
|
||||
<dialog
|
||||
tools:layout="@layout/fragment_dashboard_bottom_sheet_pre_auth"
|
||||
|
||||
@ -54,6 +54,12 @@ public class GeneralTest {
|
||||
System.out.println(binParser(input3)); // Output: [55555]
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAmount() {
|
||||
long data = Long.parseLong("000190294744");
|
||||
System.out.println("data : "+data);
|
||||
}
|
||||
|
||||
public static List<String> binParser(String input) {
|
||||
|
||||
if (input == null || input.trim().isEmpty()) {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.utsmm.kbz;
|
||||
|
||||
import com.kizzy.xpay.util.Sign;
|
||||
import com.utsmyanmar.baselib.util.EReceiptHelper;
|
||||
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@ -83,7 +83,7 @@ public class TransactionsOperation {
|
||||
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU, hostName)
|
||||
.build();
|
||||
|
||||
if (transactionsType == TransactionsType.SALE || transactionsType == TransactionsType.PRE_AUTH_SALE || transactionsType == TransactionsType.CASH_OUT) {
|
||||
if (transactionsType == TransactionsType.SALE || transactionsType == TransactionsType.PRE_AUTH_SALE || transactionsType == TransactionsType.CASH_OUT || transactionsType == TransactionsType.BALANCE_INQUIRY) {
|
||||
transTradeData = setUpNormalTransaction(tradeData, transactionsType, hostName);
|
||||
} else {
|
||||
transTradeData = setUpRebuildTransactions(tradeData, transactionsType, hostName);
|
||||
@ -139,8 +139,10 @@ public class TransactionsOperation {
|
||||
|
||||
transPayDetail.setIsSettle(false);
|
||||
|
||||
if (responseMap.get("F04") != null) {
|
||||
transPayDetail.setAmount(Long.parseLong(Objects.requireNonNull(responseMap.get("F04")).getDataStr()));
|
||||
MsgField amountField = responseMap.get("F004");
|
||||
if (amountField != null && amountField.getDataStr() != null) {
|
||||
transPayDetail.setAmount(Long.parseLong(amountField.getDataStr()));
|
||||
LogUtil.d(Constant.TAG, transactionsType.name + " PROCESS AMOUNT :" + transPayDetail.getAmount());
|
||||
}
|
||||
|
||||
if (responseMap.get("F012") != null) {
|
||||
@ -255,8 +257,9 @@ public class TransactionsOperation {
|
||||
listener.onReversal(transTradeData);
|
||||
|
||||
} else {
|
||||
listener.onSuccess(transTradeData);
|
||||
transTradeData.setPayDetail(transPayDetail);
|
||||
listener.onSuccess(transTradeData);
|
||||
|
||||
}
|
||||
|
||||
// else if (!transPayDetail.getIsNeedReversal()) {
|
||||
|
||||
@ -402,6 +402,8 @@ public class POSUtil {
|
||||
} else if(payDetail.getTransactionType() == TransactionsType.CASH_OUT.value) {
|
||||
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
||||
return "Transaction for Amount \n"+getDecimalAmountFormat(totalAmount) +" "+currencySign+" Received.";
|
||||
} else if(payDetail.getTransactionType() == TransactionsType.BALANCE_INQUIRY.value) {
|
||||
return "Available Balance \n"+getDecimalAmountSeparatorFormat(payDetail.getAmount()) +" "+currencySign;
|
||||
}
|
||||
else {
|
||||
return "Transaction for Amount \n"+getDecimalAmountFormat(payDetail.getAmount()) +" "+currencySign+" Received.";
|
||||
|
||||
@ -1265,6 +1265,17 @@ public class SystemParamsOperation {
|
||||
return params.getCashAdvanceStatus();
|
||||
}
|
||||
|
||||
public void setBalanceInquiryStatus(boolean status) {
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
params.setBalanceInquiryStatus(status);
|
||||
saveSystemParamsSettings(params);
|
||||
}
|
||||
|
||||
public boolean getBalanceInquiryStatus() {
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
return params.getBalanceInquiryStatus();
|
||||
}
|
||||
|
||||
public boolean getFullVoidPreauthStatus() {
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
return params.getFullVoidPreauthStatus();
|
||||
|
||||
@ -218,6 +218,7 @@ public class SystemParamsSettings implements Serializable {
|
||||
|
||||
private boolean cash_advance_status = true;
|
||||
|
||||
private boolean balance_inquiry_status = true;
|
||||
private boolean decimal_enable = false;
|
||||
|
||||
private boolean refund_status = true;
|
||||
@ -634,6 +635,9 @@ public class SystemParamsSettings implements Serializable {
|
||||
|
||||
protected void setVoidStatus(boolean void_status) { this.void_status = void_status; }
|
||||
|
||||
protected boolean getBalanceInquiryStatus() { return balance_inquiry_status;}
|
||||
|
||||
protected void setBalanceInquiryStatus(boolean balance_inquiry_status) { this.balance_inquiry_status = balance_inquiry_status; }
|
||||
protected boolean getCashAdvanceStatus() { return cash_advance_status;}
|
||||
|
||||
protected void setCashAdvanceStatus(boolean cash_advance_status) { this.cash_advance_status = cash_advance_status;}
|
||||
|
||||
@ -23,5 +23,6 @@ public enum TransMenu {
|
||||
PRE_AUTH,
|
||||
PRE_AUTH_FULL_VOID,
|
||||
PRE_AUTH_PARTIAL_VOID,
|
||||
TIP_ADJUSTMENT
|
||||
TIP_ADJUSTMENT,
|
||||
BALANCE_INQUIRY
|
||||
}
|
||||
|
||||
@ -93,7 +93,13 @@ public class HostUtils {
|
||||
bitmap = BitmapConfig.FINEXUS_SALE;
|
||||
}
|
||||
break;
|
||||
|
||||
case BALANCE_INQUIRY:
|
||||
if (hostName == HostName.BPC) {
|
||||
bitmap = BitmapConfig.BPC_BALANCE_INQUIRY;
|
||||
} else {
|
||||
bitmap = BitmapConfig.FINEXUS_SALE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
bitmap = BitmapConfig.DEFAULT;
|
||||
break;
|
||||
@ -106,6 +112,14 @@ public class HostUtils {
|
||||
public MessageType getMessageType(HostName hostName, TransactionsType transactionsType) {
|
||||
final MessageType msgType;
|
||||
switch (transactionsType) {
|
||||
case BALANCE_INQUIRY:
|
||||
if (hostName == HostName.BPC) {
|
||||
msgType = MessageType.AUTHORIZATION;
|
||||
} else {
|
||||
msgType = MessageType.AUTHORIZATION;
|
||||
}
|
||||
|
||||
break;
|
||||
case PRE_AUTH_SALE:
|
||||
if (hostName == HostName.BPC) {
|
||||
msgType = MessageType.FINANCIAL;
|
||||
|
||||
@ -52,7 +52,7 @@ public class BitmapConfig {
|
||||
public static final String BPC_LOG_ON = "2220010000800000"; // TID,MID
|
||||
public static final String BPC_LOG_OFF = "2220010000C00000"; // TID,MID
|
||||
|
||||
public static final String BPC_BALANCE_INQUIRY = "3230058020C09000";
|
||||
public static final String BPC_BALANCE_INQUIRY = "3230058020C09200";
|
||||
|
||||
// public static final String BPC_SALE = "7230058020C09201";
|
||||
// public static final String BPC_SALE = "7230058020C09000";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user