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.utsmm.kbz.util.ecr.CoreUtils;
|
||||||
|
|
||||||
import com.utsmyanmar.paylibs.utils.LogUtil;
|
import com.utsmyanmar.paylibs.utils.LogUtil;
|
||||||
|
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||||
|
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
@ -229,14 +231,23 @@ public class ProcessingFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
private void updateData(){
|
private void updateData(){
|
||||||
|
|
||||||
|
PayDetail payDetail;
|
||||||
if(isEmvTrans()) {
|
if(isEmvTrans()) {
|
||||||
LogUtil.d(TAG,"Updated sharedViewmodel payDetail for emv");
|
LogUtil.d(TAG,"Updated sharedViewmodel payDetail for emv");
|
||||||
sharedViewModel.payDetail.setValue(emvTransactionProcessViewModel.payDetailResult.getValue());
|
payDetail = emvTransactionProcessViewModel.payDetailResult.getValue();
|
||||||
} else {
|
} else {
|
||||||
LogUtil.d(TAG,"Updated sharedViewmodel payDetail for non emv");
|
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) {
|
// if(sharedViewModel.payDetail.getValue() != null) {
|
||||||
// EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
// EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
||||||
|
|||||||
@ -98,6 +98,7 @@ public class DashboardTransFragment extends DataBindingFragment {
|
|||||||
Boolean isVoidEnabled = SystemParamsOperation.getInstance().getVoidStatus();
|
Boolean isVoidEnabled = SystemParamsOperation.getInstance().getVoidStatus();
|
||||||
Boolean isPreAuthEnabled = SystemParamsOperation.getInstance().getPreAuthStatus();
|
Boolean isPreAuthEnabled = SystemParamsOperation.getInstance().getPreAuthStatus();
|
||||||
Boolean isCashAdvanceEnabled = SystemParamsOperation.getInstance().getCashAdvanceStatus();
|
Boolean isCashAdvanceEnabled = SystemParamsOperation.getInstance().getCashAdvanceStatus();
|
||||||
|
Boolean isBalanceInquiryEnabled = SystemParamsOperation.getInstance().getBalanceInquiryStatus();
|
||||||
private void initData() {
|
private void initData() {
|
||||||
featuresList.clear();
|
featuresList.clear();
|
||||||
|
|
||||||
@ -137,6 +138,11 @@ public class DashboardTransFragment extends DataBindingFragment {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// case BALANCE_INQUIRY:
|
||||||
|
// if(isBalanceInquiryEnabled){
|
||||||
|
// featuresList.add(feature);
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
default:
|
default:
|
||||||
featuresList.add(feature);
|
featuresList.add(feature);
|
||||||
break;
|
break;
|
||||||
@ -184,6 +190,9 @@ public class DashboardTransFragment extends DataBindingFragment {
|
|||||||
case DEVICE_CONFIG:
|
case DEVICE_CONFIG:
|
||||||
new DashboardTransFragment.ClickEvent().onClickDeviceConfig();
|
new DashboardTransFragment.ClickEvent().onClickDeviceConfig();
|
||||||
break;
|
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() {
|
public void onClickClearReversal() {
|
||||||
sharedViewModel.transactionsType.postValue(TransactionsType.CLEAR_REVERSAL);
|
sharedViewModel.transactionsType.postValue(TransactionsType.CLEAR_REVERSAL);
|
||||||
sharedViewModel.setTransMenu(TransMenu.CLEAR_REVERSAL);
|
sharedViewModel.setTransMenu(TransMenu.CLEAR_REVERSAL);
|
||||||
|
|||||||
@ -11,6 +11,7 @@ public enum FeaturesType {
|
|||||||
PRE_AUTH_COMPLETE,
|
PRE_AUTH_COMPLETE,
|
||||||
PRE_AUTH_COMPLETE_VOID,
|
PRE_AUTH_COMPLETE_VOID,
|
||||||
REFUND,
|
REFUND,
|
||||||
|
BALANCE_INQUIRY,
|
||||||
MANAGEMENT_FEATURES,
|
MANAGEMENT_FEATURES,
|
||||||
TIP_ADJUSTMENT,
|
TIP_ADJUSTMENT,
|
||||||
QR_PAY,
|
QR_PAY,
|
||||||
|
|||||||
@ -204,7 +204,7 @@ public class TMSUtil {
|
|||||||
boolean preAuthCancelStatus = true;
|
boolean preAuthCancelStatus = true;
|
||||||
boolean preAuthCompleteStatus = true;
|
boolean preAuthCompleteStatus = true;
|
||||||
boolean preAuthCompleteCancelStatus = true;
|
boolean preAuthCompleteCancelStatus = true;
|
||||||
|
boolean balanceInquiryStatus = true;
|
||||||
|
|
||||||
preAuthStatus = SystemParamsOperation.getInstance().getPreAuthStatus();
|
preAuthStatus = SystemParamsOperation.getInstance().getPreAuthStatus();
|
||||||
voidStatus = SystemParamsOperation.getInstance().getVoidStatus();
|
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(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(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(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(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));
|
featuresList.add(new Features(10, "Configs", R.drawable.ic_host, FeaturesType.DEVICE_CONFIG, true));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -634,6 +634,12 @@
|
|||||||
app:popUpToInclusive="true"
|
app:popUpToInclusive="true"
|
||||||
android:id="@+id/action_dashboardTransFragment_to_deviceConfig"
|
android:id="@+id/action_dashboardTransFragment_to_deviceConfig"
|
||||||
app:destination="@id/hostConfigFragment" />
|
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>
|
</fragment>
|
||||||
<dialog
|
<dialog
|
||||||
tools:layout="@layout/fragment_dashboard_bottom_sheet_pre_auth"
|
tools:layout="@layout/fragment_dashboard_bottom_sheet_pre_auth"
|
||||||
|
|||||||
@ -54,6 +54,12 @@ public class GeneralTest {
|
|||||||
System.out.println(binParser(input3)); // Output: [55555]
|
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) {
|
public static List<String> binParser(String input) {
|
||||||
|
|
||||||
if (input == null || input.trim().isEmpty()) {
|
if (input == null || input.trim().isEmpty()) {
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.utsmm.kbz;
|
package com.utsmm.kbz;
|
||||||
|
|
||||||
import com.kizzy.xpay.util.Sign;
|
import com.kizzy.xpay.util.Sign;
|
||||||
|
import com.utsmyanmar.baselib.util.EReceiptHelper;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|||||||
@ -83,7 +83,7 @@ public class TransactionsOperation {
|
|||||||
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU, hostName)
|
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU, hostName)
|
||||||
.build();
|
.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);
|
transTradeData = setUpNormalTransaction(tradeData, transactionsType, hostName);
|
||||||
} else {
|
} else {
|
||||||
transTradeData = setUpRebuildTransactions(tradeData, transactionsType, hostName);
|
transTradeData = setUpRebuildTransactions(tradeData, transactionsType, hostName);
|
||||||
@ -139,8 +139,10 @@ public class TransactionsOperation {
|
|||||||
|
|
||||||
transPayDetail.setIsSettle(false);
|
transPayDetail.setIsSettle(false);
|
||||||
|
|
||||||
if (responseMap.get("F04") != null) {
|
MsgField amountField = responseMap.get("F004");
|
||||||
transPayDetail.setAmount(Long.parseLong(Objects.requireNonNull(responseMap.get("F04")).getDataStr()));
|
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) {
|
if (responseMap.get("F012") != null) {
|
||||||
@ -255,8 +257,9 @@ public class TransactionsOperation {
|
|||||||
listener.onReversal(transTradeData);
|
listener.onReversal(transTradeData);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
listener.onSuccess(transTradeData);
|
|
||||||
transTradeData.setPayDetail(transPayDetail);
|
transTradeData.setPayDetail(transPayDetail);
|
||||||
|
listener.onSuccess(transTradeData);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// else if (!transPayDetail.getIsNeedReversal()) {
|
// else if (!transPayDetail.getIsNeedReversal()) {
|
||||||
|
|||||||
@ -402,6 +402,8 @@ public class POSUtil {
|
|||||||
} else if(payDetail.getTransactionType() == TransactionsType.CASH_OUT.value) {
|
} else if(payDetail.getTransactionType() == TransactionsType.CASH_OUT.value) {
|
||||||
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
||||||
return "Transaction for Amount \n"+getDecimalAmountFormat(totalAmount) +" "+currencySign+" Received.";
|
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 {
|
else {
|
||||||
return "Transaction for Amount \n"+getDecimalAmountFormat(payDetail.getAmount()) +" "+currencySign+" Received.";
|
return "Transaction for Amount \n"+getDecimalAmountFormat(payDetail.getAmount()) +" "+currencySign+" Received.";
|
||||||
|
|||||||
@ -1265,6 +1265,17 @@ public class SystemParamsOperation {
|
|||||||
return params.getCashAdvanceStatus();
|
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() {
|
public boolean getFullVoidPreauthStatus() {
|
||||||
SystemParamsSettings params = getSystemParamsSettings();
|
SystemParamsSettings params = getSystemParamsSettings();
|
||||||
return params.getFullVoidPreauthStatus();
|
return params.getFullVoidPreauthStatus();
|
||||||
|
|||||||
@ -218,6 +218,7 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
|
|
||||||
private boolean cash_advance_status = true;
|
private boolean cash_advance_status = true;
|
||||||
|
|
||||||
|
private boolean balance_inquiry_status = true;
|
||||||
private boolean decimal_enable = false;
|
private boolean decimal_enable = false;
|
||||||
|
|
||||||
private boolean refund_status = true;
|
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 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 boolean getCashAdvanceStatus() { return cash_advance_status;}
|
||||||
|
|
||||||
protected void setCashAdvanceStatus(boolean cash_advance_status) { this.cash_advance_status = 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,
|
||||||
PRE_AUTH_FULL_VOID,
|
PRE_AUTH_FULL_VOID,
|
||||||
PRE_AUTH_PARTIAL_VOID,
|
PRE_AUTH_PARTIAL_VOID,
|
||||||
TIP_ADJUSTMENT
|
TIP_ADJUSTMENT,
|
||||||
|
BALANCE_INQUIRY
|
||||||
}
|
}
|
||||||
|
|||||||
@ -93,7 +93,13 @@ public class HostUtils {
|
|||||||
bitmap = BitmapConfig.FINEXUS_SALE;
|
bitmap = BitmapConfig.FINEXUS_SALE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case BALANCE_INQUIRY:
|
||||||
|
if (hostName == HostName.BPC) {
|
||||||
|
bitmap = BitmapConfig.BPC_BALANCE_INQUIRY;
|
||||||
|
} else {
|
||||||
|
bitmap = BitmapConfig.FINEXUS_SALE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
bitmap = BitmapConfig.DEFAULT;
|
bitmap = BitmapConfig.DEFAULT;
|
||||||
break;
|
break;
|
||||||
@ -106,6 +112,14 @@ public class HostUtils {
|
|||||||
public MessageType getMessageType(HostName hostName, TransactionsType transactionsType) {
|
public MessageType getMessageType(HostName hostName, TransactionsType transactionsType) {
|
||||||
final MessageType msgType;
|
final MessageType msgType;
|
||||||
switch (transactionsType) {
|
switch (transactionsType) {
|
||||||
|
case BALANCE_INQUIRY:
|
||||||
|
if (hostName == HostName.BPC) {
|
||||||
|
msgType = MessageType.AUTHORIZATION;
|
||||||
|
} else {
|
||||||
|
msgType = MessageType.AUTHORIZATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
case PRE_AUTH_SALE:
|
case PRE_AUTH_SALE:
|
||||||
if (hostName == HostName.BPC) {
|
if (hostName == HostName.BPC) {
|
||||||
msgType = MessageType.FINANCIAL;
|
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_ON = "2220010000800000"; // TID,MID
|
||||||
public static final String BPC_LOG_OFF = "2220010000C00000"; // 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 = "7230058020C09201";
|
||||||
// public static final String BPC_SALE = "7230058020C09000";
|
// public static final String BPC_SALE = "7230058020C09000";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user