diff --git a/GME Remit/APIs/Router/APIRouter.swift b/GME Remit/APIs/Router/APIRouter.swift index 0fb3af8d..f56f40ff 100644 --- a/GME Remit/APIs/Router/APIRouter.swift +++ b/GME Remit/APIs/Router/APIRouter.swift @@ -839,7 +839,9 @@ extension APIRouter { "PhoneNo" : model.mobile, "ProductPrice" : model.productPrice ?? "", "UseBalancePrice" : model.useBalancePrice ?? "", - "PassWord": model.password ?? "" + "PassWord": model.password ?? "", + "FintechUseNo": model.fintechUseNo ?? "", + "TranType": model.paymentType ?? "" ] case .fetchRechargeHistory(let from, let to): let senderID = GMEDB.shared.user.string(.senderId) ?? "" diff --git a/GME Remit/Modules/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift b/GME Remit/Modules/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift index 4d4b76b4..ae5d5e5c 100644 --- a/GME Remit/Modules/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift +++ b/GME Remit/Modules/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift @@ -142,7 +142,6 @@ final class BiometricAuthenticationViewController: UIViewController, BiometricAu DispatchQueue.main.async { self.delegate?.didComplete(self) } - #else guard let isUseBiometricAuth = KeyChain.shared.get(key: .biometricAuth), diff --git a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/Application Logic/Model/RechargeModel.swift b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/Application Logic/Model/RechargeModel.swift index 4c1055ac..6b36789f 100644 --- a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/Application Logic/Model/RechargeModel.swift +++ b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/Application Logic/Model/RechargeModel.swift @@ -7,7 +7,9 @@ // struct RechargeModel { - let paymentType: String + let paymentType: String? + let fintechUseNo: String? + let bankName: String? let type: String let chargeType: String let cardName: String @@ -20,6 +22,8 @@ struct RechargeModel { init( paymentType: String, + fintechUseNo: String, + bankName: String, type: String, chargeType: String, cardName: String, @@ -27,6 +31,8 @@ struct RechargeModel { price: String ) { self.paymentType = paymentType + self.fintechUseNo = fintechUseNo + self.bankName = bankName self.type = type self.chargeType = chargeType self.cardName = cardName diff --git a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/Presenter/PhoneCardRechargePresenter.swift b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/Presenter/PhoneCardRechargePresenter.swift index a197a4bb..ed7b61fe 100644 --- a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/Presenter/PhoneCardRechargePresenter.swift +++ b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/Presenter/PhoneCardRechargePresenter.swift @@ -24,7 +24,7 @@ enum RechargeType: Int { } enum PaymentType: String { - case wallet = "GME Wallet" + case wallet = "wallet" case autodebit = "autodebit" } @@ -90,6 +90,7 @@ class PhoneCardRechargePresenter: ViewModelType { private let fixedModel = BehaviorSubject<[MainCardInformation]>(value: []) private let dataOnlyModel = BehaviorSubject<[MainCardInformation]>(value: []) private var accountType: String? + private var accounts: Account? func transform(input: Input) -> Output { Driver.combineLatest(input.viewWillAppear, input.selectedMobile, input.selectedRechargeType) @@ -110,6 +111,7 @@ class PhoneCardRechargePresenter: ViewModelType { .drive(onNext: { let fintechUseNumber = $0?.fintechUseNumber ?? "" let type = $0?.type ?? "autodebit" + self.accountType = type self.progressLinker.onNext(true) self.interactor?.fetchBalanceForPowerCall(type: type, fintechUseNumber: fintechUseNumber) }).disposed(by: disposeBag) @@ -167,11 +169,15 @@ class PhoneCardRechargePresenter: ViewModelType { input.nextTap .withLatestFrom(combinedInput.asDriverOnErrorJustComplete()) {$1} .map { ( _, mobile, type, priceModel, _, carrierPlan, dataOnlyType) -> RechargeModel? in + switch type { + case .regular: return RechargeModel( - paymentType: self.accountType ?? "", + paymentType: self.accounts?.type ?? "", + fintechUseNo: self.accounts?.fintechUseNumber ?? "", + bankName: self.accounts?.bankName ?? "", type: type.value, chargeType: "", cardName: "", @@ -180,7 +186,9 @@ class PhoneCardRechargePresenter: ViewModelType { ) case .fixed: return RechargeModel( - paymentType: self.accountType ?? "", + paymentType: self.accounts?.type ?? "", + fintechUseNo: self.accounts?.fintechUseNumber ?? "", + bankName: self.accounts?.bankName ?? "", type: type.value, chargeType: carrierPlan?.cardType ?? "", cardName: carrierPlan?.cardName ?? "", @@ -189,7 +197,9 @@ class PhoneCardRechargePresenter: ViewModelType { ) case .dataOnly: return RechargeModel( - paymentType: self.accountType ?? "", + paymentType: self.accounts?.type ?? "", + fintechUseNo: self.accounts?.fintechUseNumber ?? "", + bankName: self.accounts?.bankName ?? "", type: type.value, chargeType: dataOnlyType?.cardCode ?? "", cardName: dataOnlyType?.cardName ?? "", @@ -232,6 +242,7 @@ extension PhoneCardRechargePresenter: PhoneCardRechargeInteractorOutput { progressLinker.onNext(false) bankModel.onNext(model) let selectedModel = model.first(where: {$0.type == "wallet"}) + accounts = selectedModel selectedPaymentMode.onNext(selectedModel) } diff --git a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift index 10aa9679..e8ab6720 100644 --- a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift +++ b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift @@ -292,8 +292,12 @@ extension PhoneCardRechargeViewController { self?.balanceCheckButton.setTitleColor(.white, for: .normal) self?.balanceCheckButton.titleLabel?.minimumScaleFactor = 0.1 self?.balanceCheckButton.titleLabel?.adjustsFontSizeToFitWidth = true - self?.balanceStackView.isHidden = true + guard let account = model.accountNumMasked else { + self?.mycashAmountLabel.text = "\(model.bankName ?? "")" + return + } + self?.mycashAmountLabel.text = "\(model.bankName ?? "") (\(account))" } }).disposed(by: disposeBag) @@ -456,8 +460,8 @@ extension PhoneCardRechargeViewController { .disposed(by: disposeBag) paymentTypeDropDownTap.rx.event.mapToVoid().asDriverOnErrorJustComplete() - .drive(onNext: { - self.selectPaymentType.onNext(()) + .drive(onNext: { + self.selectPaymentType.onNext(()) }).disposed(by: disposeBag) } } diff --git a/GME Remit/Modules/PowerCallModules/RechargePayment/User Interface/View/RechargePaymentViewController.swift b/GME Remit/Modules/PowerCallModules/RechargePayment/User Interface/View/RechargePaymentViewController.swift index 1fe70749..598df4f3 100644 --- a/GME Remit/Modules/PowerCallModules/RechargePayment/User Interface/View/RechargePaymentViewController.swift +++ b/GME Remit/Modules/PowerCallModules/RechargePayment/User Interface/View/RechargePaymentViewController.swift @@ -161,11 +161,16 @@ extension RechargePaymentViewController { guard let model = $0 else { return } - if model.paymentType == "" { - self?.gmeWalletTitleLabel.text = "Bank Name" - self?.balanceTitleLabel.text = "Expected \(self?.gmeWalletTitleLabel) Balance" + if model.paymentType == "autodebit" { + self?.gmeWalletTitleLabel.text = model.bankName + self?.balanceTitleLabel.text = "Expected \(model.bankName ?? "") Balance" + self?.rechargeButton.setTitle("pay using Autodebit account", for: .normal) + } else { + self?.gmeWalletTitleLabel.text = "gme_wallet_text".localized() + self?.balanceTitleLabel.text = "expected_gme_wallet_balance_text".localized() + self?.rechargeButton.setTitle("pay_using_gme_wallet_text".localized(), for: .normal) } - }).disposed(by: disposeBag) + }).disposed(by: disposeBag) let tapGestureRecognizer = UITapGestureRecognizer() tapGestureRecognizer.delegate = self diff --git a/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard b/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard index 24403407..80ed5877 100644 --- a/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard +++ b/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard @@ -116,13 +116,13 @@