Compare commits

...

4 Commits

Author SHA1 Message Date
MooN
95d50ec3a7 location detection imp 2026-03-16 15:03:20 +06:30
MooN
c71eaef5b5 geo get set 2026-03-16 15:03:19 +06:30
moon
b56cb9f78b duel enable 2026-03-16 11:59:03 +06:30
moon
3c44f3d1ba add is_duel_currency flag 2026-03-16 11:38:30 +06:30
16 changed files with 247 additions and 8 deletions

View File

@ -35,6 +35,10 @@
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<!-- android:noHistory="true"--> <!-- android:noHistory="true"-->
<!-- android:excludeFromRecents="true"--> <!-- android:excludeFromRecents="true"-->

View File

@ -32,6 +32,7 @@ import com.nexgo.downloadkey.downloadflow.DownloadFlowResultEntity;
import com.nexgo.downloadkey.downloadflow.DownloadResult; import com.nexgo.downloadkey.downloadflow.DownloadResult;
import com.nexgo.oaf.apiv3.device.pinpad.PinPad; import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
import com.nexgo.oaf.apiv3.device.pinpad.WorkKeyTypeEnum; import com.nexgo.oaf.apiv3.device.pinpad.WorkKeyTypeEnum;
import com.utsmm.kbz.util.LocationUtil;
import com.utsmyanmar.baselib.BaseApplication; import com.utsmyanmar.baselib.BaseApplication;
import com.utsmyanmar.baselib.repo.Repository; import com.utsmyanmar.baselib.repo.Repository;
import com.utsmyanmar.baselib.ui.AnimationDialog; import com.utsmyanmar.baselib.ui.AnimationDialog;
@ -427,7 +428,7 @@ public class MainActivity extends AppCompatActivity implements
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
getLocation();
SystemParamsOperation.getInstance().setSetupEcr(false); SystemParamsOperation.getInstance().setSetupEcr(false);
SystemParamsOperation.getInstance().setDownloadedParams(false); SystemParamsOperation.getInstance().setDownloadedParams(false);
@ -450,6 +451,24 @@ public class MainActivity extends AppCompatActivity implements
handleAutoSettlementIntent(intent); handleAutoSettlementIntent(intent);
} }
public void getLocation() {
LocationUtil.getCurrentLocation(MainActivity.this, new LocationUtil.LocationCallback() {
@Override
public void onSuccess(double lat, double lng) {
LogUtil.d("Location", "Current Location: " + lat + ", " + lng);
LocationUtil.setLat(lat);
LocationUtil.setLng(lng);
}
@Override
public void onError(String reason) {
LogUtil.e("Location", "get Location error: " + reason);
LocationUtil.setLat(0.00);
LocationUtil.setLng(0.00);
}
});
}
private void handleAutoSettlementIntent(Intent intent) { private void handleAutoSettlementIntent(Intent intent) {
if (intent == null) return; if (intent == null) return;

View File

@ -471,6 +471,10 @@ public class MainFragment extends DataBindingFragment {
values.add(normalizeCurrency(cardPrimaryCurrency.name)); values.add(normalizeCurrency(cardPrimaryCurrency.name));
} }
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
return new ArrayList<>(values);
}
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) { if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
values.add(secondaryCurrency); values.add(secondaryCurrency);
@ -484,8 +488,10 @@ public class MainFragment extends DataBindingFragment {
String selected = normalizeCurrency(selectedCurrency); String selected = normalizeCurrency(selectedCurrency);
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) boolean useSecondaryCardHost = dualCurrencyEnabled
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
&& !TextUtils.isEmpty(secondaryCurrency) && !TextUtils.isEmpty(secondaryCurrency)
&& secondaryCurrency.equals(selected); && secondaryCurrency.equals(selected);

View File

@ -13,6 +13,7 @@ import androidx.navigation.Navigation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.stream.MalformedJsonException; import com.google.gson.stream.MalformedJsonException;
import com.utsmm.kbz.MainActivity;
import com.utsmm.kbz.config.Constants; import com.utsmm.kbz.config.Constants;
import com.nexgo.downloadkey.downloadflow.DownloadFEntity; import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
import com.nexgo.downloadkey.downloadflow.DownloadFlow; import com.nexgo.downloadkey.downloadflow.DownloadFlow;
@ -393,6 +394,9 @@ public class SettingsFragment extends DataBindingFragment {
private void downloadParams(String lastTransName, String lastTransTime) { private void downloadParams(String lastTransName, String lastTransTime) {
try { try {
LogUtil.d(TAG, "Downloading params for transaction: " + lastTransName); LogUtil.d(TAG, "Downloading params for transaction: " + lastTransName);
((MainActivity) requireActivity()).getLocation();
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(), lastTransName, lastTransTime); SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(), lastTransName, lastTransTime);
mainViewModel.getParams(siriusReq) mainViewModel.getParams(siriusReq)

View File

@ -10,6 +10,8 @@ import androidx.appcompat.app.AppCompatActivity;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException; import com.google.gson.JsonSyntaxException;
import com.google.gson.stream.MalformedJsonException; import com.google.gson.stream.MalformedJsonException;
import com.utsmm.kbz.MainActivity;
import com.utsmm.kbz.util.LocationUtil;
import com.utsmyanmar.baselib.emv.EmvParamOperation; import com.utsmyanmar.baselib.emv.EmvParamOperation;
import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.fragment.DataBindingFragment;
import com.utsmyanmar.baselib.network.model.sirius.SiriusError; import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
@ -156,6 +158,8 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
return; return;
} }
((MainActivity) requireActivity()).getLocation();
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams( SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(
getContext(), getContext(),
payDetail.getTransType(), payDetail.getTransType(),

View File

@ -315,6 +315,10 @@ public class DashboardTransFragment extends DataBindingFragment {
values.add(normalizeCurrency(cardPrimaryCurrency.name)); values.add(normalizeCurrency(cardPrimaryCurrency.name));
} }
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
return new ArrayList<>(values);
}
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) { if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
values.add(secondaryCurrency); values.add(secondaryCurrency);
@ -328,8 +332,10 @@ public class DashboardTransFragment extends DataBindingFragment {
String selected = normalizeCurrency(selectedCurrency); String selected = normalizeCurrency(selectedCurrency);
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) boolean useSecondaryCardHost = dualCurrencyEnabled
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
&& !TextUtils.isEmpty(secondaryCurrency) && !TextUtils.isEmpty(secondaryCurrency)
&& secondaryCurrency.equals(selected); && secondaryCurrency.equals(selected);

View File

@ -4,6 +4,7 @@ import androidx.databinding.library.baseAdapters.BR;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
import com.google.gson.stream.MalformedJsonException; import com.google.gson.stream.MalformedJsonException;
import com.utsmm.kbz.MainActivity;
import com.utsmyanmar.baselib.emv.EmvParamOperation; import com.utsmyanmar.baselib.emv.EmvParamOperation;
import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.fragment.DataBindingFragment;
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest; import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
@ -104,6 +105,7 @@ public class DisabledTerminalFragment extends DataBindingFragment {
private void downloadParams(String lastTransName,String lastTransTime) { private void downloadParams(String lastTransName,String lastTransTime) {
showLoadingDialog("Downloading..."); showLoadingDialog("Downloading...");
((MainActivity) requireActivity()).getLocation();
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(),lastTransName,lastTransTime); SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(),lastTransName,lastTransTime);
mainViewModel.getParams(siriusReq).subscribeOn(Schedulers.io()) mainViewModel.getParams(siriusReq).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())

View File

@ -5,6 +5,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.fragment.NavHostFragment; import androidx.navigation.fragment.NavHostFragment;
import com.utsmm.kbz.BR; import com.utsmm.kbz.BR;
import com.utsmm.kbz.MainActivity;
import com.utsmm.kbz.MainViewModel; import com.utsmm.kbz.MainViewModel;
import com.utsmm.kbz.R; import com.utsmm.kbz.R;
import com.utsmm.kbz.config.Constants; import com.utsmm.kbz.config.Constants;

View File

@ -42,8 +42,8 @@ public class RefundCertificateManager {
return; return;
}; };
// String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local
String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod // String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod
String certUrl = SystemParamsOperation.getInstance().getCertificateUrl(); String certUrl = SystemParamsOperation.getInstance().getCertificateUrl();
String clientCertUrl = SystemParamsOperation.getInstance().getCertificateClientUrl(); String clientCertUrl = SystemParamsOperation.getInstance().getCertificateClientUrl();

View File

@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.stream.MalformedJsonException; import com.google.gson.stream.MalformedJsonException;
import com.utsmm.kbz.MainActivity;
import com.utsmm.kbz.service.AutoAlarmReceiver; import com.utsmm.kbz.service.AutoAlarmReceiver;
import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.fragment.DataBindingFragment;
import com.utsmyanmar.baselib.network.model.sirius.SiriusError; import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
@ -139,6 +140,8 @@ public class TMSProcessFragment extends DataBindingFragment {
private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) { private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) {
((MainActivity) requireActivity()).getLocation();
tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING); tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING);
tmsProcessViewModel.setTmsDownloadMsg("Downloading..."); tmsProcessViewModel.setTmsDownloadMsg("Downloading...");

View File

@ -0,0 +1,111 @@
package com.utsmm.kbz.util;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
public class LocationUtil {
public interface LocationCallback {
void onSuccess(double lat, double lng);
void onError(String reason);
}
private static LocationListener listener;
private static double lat = 0.00;
private static double lng = 0.00;
public static void getCurrentLocation(
@NonNull Activity activity,
@NonNull LocationCallback callback) {
LocationManager lm =
(LocationManager) activity.getSystemService(Context.LOCATION_SERVICE);
if (lm == null) {
callback.onError("LocationManager is null");
return;
}
if (ActivityCompat.checkSelfPermission(activity,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
activity,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
201
);
callback.onError("Permission not granted");
return;
}
boolean gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean netEnabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!gpsEnabled && !netEnabled) {
callback.onError("No location provider enabled");
return;
}
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location == null) {
location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
if (location != null) {
callback.onSuccess(location.getLatitude(), location.getLongitude());
return;
}
listener = new LocationListener() {
@Override
public void onLocationChanged(@NonNull Location location) {
callback.onSuccess(
location.getLatitude(),
location.getLongitude()
);
lm.removeUpdates(this); // 🔥 stop GPS
}
};
lm.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
2000,
1,
listener
);
}
public static void stop(Context context) {
if (listener != null) {
LocationManager lm =
(LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (lm != null) lm.removeUpdates(listener);
listener = null;
}
}
public static double getLat() {
return lat;
}
public static double getLng() {
return lng;
}
public static void setLat(double lat) {
LocationUtil.lat = lat;
}
public static void setLng(double lng) {
LocationUtil.lng = lng;
}
}

View File

@ -149,6 +149,9 @@ public class TMSSetupsImpl implements TMSSetups{
List<SiriusHost> siriusHosts = siriusResponse.getHosts(); List<SiriusHost> siriusHosts = siriusResponse.getHosts();
List<SiriusProperty> siriusProperties = siriusResponse.getProperties(); List<SiriusProperty> siriusProperties = siriusResponse.getProperties();
boolean isDualCurrencyEnabled = isDualCurrencyEnabled(siriusProperties);
SystemParamsOperation.getInstance().setDuelCurrencyStatus(isDualCurrencyEnabled);
ArrayList<String> imgUrls = new ArrayList<>(); ArrayList<String> imgUrls = new ArrayList<>();
@ -207,7 +210,7 @@ public class TMSSetupsImpl implements TMSSetups{
} }
// For dual-currency card flow, prefer MMK as PRIMARY HOST. // For dual-currency card flow, prefer MMK as PRIMARY HOST.
if (cardHosts.size() >= 2) { if (isDualCurrencyEnabled && cardHosts.size() >= 2) {
SiriusHost first = cardHosts.get(0); SiriusHost first = cardHosts.get(0);
SiriusHost second = cardHosts.get(1); SiriusHost second = cardHosts.get(1);
boolean firstIsMMK = "MMK".equalsIgnoreCase(first.getCurrency()); boolean firstIsMMK = "MMK".equalsIgnoreCase(first.getCurrency());
@ -237,7 +240,7 @@ public class TMSSetupsImpl implements TMSSetups{
} }
// SECONDARY HOST (Card #2) // SECONDARY HOST (Card #2)
if (cardHosts.size() > 1) { if (isDualCurrencyEnabled && cardHosts.size() > 1) {
SiriusHost secondaryCard = cardHosts.get(1); SiriusHost secondaryCard = cardHosts.get(1);
SystemParamsOperation.getInstance().setThirdHostName(secondaryCard.getName() == null ? "" : secondaryCard.getName()); SystemParamsOperation.getInstance().setThirdHostName(secondaryCard.getName() == null ? "" : secondaryCard.getName());
SystemParamsOperation.getInstance().setThirdHostTerminalId(secondaryCard.getTid() == null ? "" : secondaryCard.getTid()); SystemParamsOperation.getInstance().setThirdHostTerminalId(secondaryCard.getTid() == null ? "" : secondaryCard.getTid());
@ -633,6 +636,8 @@ public class TMSSetupsImpl implements TMSSetups{
} }
else if(TextUtils.equals(name, "printer_enabled")){ else if(TextUtils.equals(name, "printer_enabled")){
SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data)); SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data));
}else if(TextUtils.equals(name, "is_duel_currency")){
SystemParamsOperation.getInstance().setDuelCurrencyStatus(parseBoolean(data));
} }
} }
@ -645,6 +650,24 @@ public class TMSSetupsImpl implements TMSSetups{
return EReceiptHelper.sha256(dataToHash); return EReceiptHelper.sha256(dataToHash);
} }
private boolean isDualCurrencyEnabled(List<SiriusProperty> siriusProperties) {
if (siriusProperties == null) {
return false;
}
for (SiriusProperty siriusProperty : siriusProperties) {
if (siriusProperty == null) {
continue;
}
if (TextUtils.equals("is_duel_currency", siriusProperty.getName())) {
return parseBoolean(siriusProperty.getProperty());
}
}
return false;
}
private String convertToString(ArrayList<String> list) { private String convertToString(ArrayList<String> list) {

View File

@ -7,6 +7,7 @@ import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.kizzy.xpay.XPay; import com.kizzy.xpay.XPay;
import com.utsmm.kbz.util.LocationUtil;
import com.utsmyanmar.baselib.emv.EmvParamOperation; import com.utsmyanmar.baselib.emv.EmvParamOperation;
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest; import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
import com.utsmyanmar.baselib.network.model.sirius.SiriusResponse; import com.utsmyanmar.baselib.network.model.sirius.SiriusResponse;
@ -139,6 +140,7 @@ public class TMSUtil {
public SiriusRequest generateRequestParams(Context context,String lastTransName,String lastTransTime) { public SiriusRequest generateRequestParams(Context context,String lastTransName,String lastTransTime) {
SiriusRequest siriusRequest = new SiriusRequest(); SiriusRequest siriusRequest = new SiriusRequest();
siriusRequest.setSerial(getSerialNumber()); siriusRequest.setSerial(getSerialNumber());
siriusRequest.setAppPackage(BuildConfig.APPLICATION_ID); siriusRequest.setAppPackage(BuildConfig.APPLICATION_ID);
@ -148,6 +150,8 @@ public class TMSUtil {
siriusRequest.setCurrentNetwork(getNetworkType(context)); siriusRequest.setCurrentNetwork(getNetworkType(context));
siriusRequest.setLastTransaction(lastTransName); siriusRequest.setLastTransaction(lastTransName);
siriusRequest.setLastTranTime(Long.parseLong(lastTransTime)); siriusRequest.setLastTranTime(Long.parseLong(lastTransTime));
siriusRequest.setLatitude(LocationUtil.getLat());
siriusRequest.setLongitude(LocationUtil.getLng());
siriusRequest.setValue("YourValueHere"); siriusRequest.setValue("YourValueHere");
return siriusRequest; return siriusRequest;

View File

@ -18,9 +18,23 @@ public class SiriusRequest {
private Long lastTranTime; private Long lastTranTime;
private String value; private String value;
private double latitude;
private double longitude;
public SiriusRequest() {} public SiriusRequest() {}
public SiriusRequest(String serial, String appPackage, String androidVersion, String firmwareVersion, String applicationVersion, String currentNetwork, String lastTransaction, Long lastTranTime, String value) { public SiriusRequest(
String serial,
String appPackage,
String androidVersion,
String firmwareVersion,
String applicationVersion,
String currentNetwork,
String lastTransaction,
Long lastTranTime,
double latitude,
double longitude,
String value
) {
this.serial = serial; this.serial = serial;
this.appPackage = appPackage; this.appPackage = appPackage;
this.androidVersion = androidVersion; this.androidVersion = androidVersion;
@ -29,6 +43,8 @@ public class SiriusRequest {
this.currentNetwork = currentNetwork; this.currentNetwork = currentNetwork;
this.lastTransaction = lastTransaction; this.lastTransaction = lastTransaction;
this.lastTranTime = lastTranTime; this.lastTranTime = lastTranTime;
this.latitude = latitude;
this.longitude = longitude;
this.value = value; this.value = value;
} }
@ -100,6 +116,22 @@ public class SiriusRequest {
return value; return value;
} }
public double getLatitude(){
return latitude;
}
public double getLongitude(){
return longitude;
}
public void setLatitude(double latitude){
this.latitude = latitude;
}
public void setLongitude(double longitude){
this.longitude = longitude;
}
public void setValue(String value) { public void setValue(String value) {
this.value = value; this.value = value;
} }

View File

@ -1840,4 +1840,15 @@ public class SystemParamsOperation {
SystemParamsSettings paramsSettings = getSystemParamsSettings(); SystemParamsSettings paramsSettings = getSystemParamsSettings();
return paramsSettings.getPrinterEnabled(); return paramsSettings.getPrinterEnabled();
} }
public void setDuelCurrencyStatus(boolean duelCurrencyStatus) {
SystemParamsSettings paramsSettings = getSystemParamsSettings();
paramsSettings.setDuelCurrencyStatus(duelCurrencyStatus);
saveSystemParamsSettings(paramsSettings);
}
public boolean getDuelCurrencyStatus(){
SystemParamsSettings paramsSettings = getSystemParamsSettings();
return paramsSettings.getDuelCurrencyStatus();
}
} }

View File

@ -268,6 +268,7 @@ public class SystemParamsSettings implements Serializable {
private String certificateUrl = ""; private String certificateUrl = "";
private String certificateClientUrl = ""; private String certificateClientUrl = "";
private boolean printerEnabled = true; private boolean printerEnabled = true;
private boolean duelCurrencyStatus = false;
public boolean isQrPartialRefundEnable(){ public boolean isQrPartialRefundEnable(){
return qrPartialRefundEnable; return qrPartialRefundEnable;
@ -1117,6 +1118,14 @@ public class SystemParamsSettings implements Serializable {
return printerEnabled; return printerEnabled;
} }
public void setDuelCurrencyStatus(boolean duelCurrencyStatus) {
this.duelCurrencyStatus = duelCurrencyStatus;
}
public boolean getDuelCurrencyStatus(){
return duelCurrencyStatus;
}
/* // 流水号起始 /* // 流水号起始
private String serialNum = Configs.getInstance().SERIAL_NUM(); private String serialNum = Configs.getInstance().SERIAL_NUM();
// 批次号起始 // 批次号起始