You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.3 KiB
89 lines
3.3 KiB
//
|
|
// SendMoneyVerificationInteractor.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by gme_2 on 28/08/2018.
|
|
//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class SendMoneyVerificationInteractor {
|
|
|
|
// MARK: Properties
|
|
|
|
weak var output: SendMoneyVerificationInteractorOutput?
|
|
private let service: SendMoneyVerificationServiceType
|
|
|
|
// MARK: Initialization
|
|
|
|
init(service: SendMoneyVerificationServiceType) {
|
|
self.service = service
|
|
}
|
|
|
|
// MARK: Converting entities
|
|
}
|
|
|
|
// MARK: SendMoneyVerification interactor input interface
|
|
|
|
extension SendMoneyVerificationInteractor: SendMoneyVerificationInteractorInput {
|
|
func submit(model: SendMoneyRequestModel, reciepient: Recipient) {
|
|
let params = self.getParams(model: model, reciepient: reciepient)
|
|
self.service.submit(params: params, success: { (response) in
|
|
self.output?.show(model: response)
|
|
}) { (error) in
|
|
self.output?.show(error: error)
|
|
}
|
|
}
|
|
|
|
func getParams(model: SendMoneyRequestModel, reciepient: Recipient) -> [String: String] {
|
|
let _default = UserDefaults.standard
|
|
|
|
guard let username = _default.value(forKey: UserKeys.userId) as? String else {return [:]}
|
|
let senderId = _default.value(forKey: UserKeys.senderId) as? String
|
|
let recieverId = reciepient.recipientId
|
|
|
|
|
|
|
|
|
|
let params: [String: String] =
|
|
[
|
|
"user": username,
|
|
"senderId": senderId ?? "",
|
|
"receiverId": recieverId ?? "",
|
|
"deliveryMethodId": model.paymemtMode?.id ?? "",
|
|
"pBranch": model.branch?.id ?? "",
|
|
"pAgent": model.bank?.id ?? "",
|
|
|
|
"payOutPartner": model.paymemtMode?.payoutPartner ?? "",
|
|
"paymentType": "Wallet",
|
|
|
|
"pCurr": model.exchangeRateDetail?.reciepientCurrency ?? "",
|
|
"collCurr": "KRW",
|
|
"collAmt": model.exchangeRateDetail?.senderAmount ?? "",
|
|
"payoutAmt": model.exchangeRateDetail?.recipientAmount ?? "",
|
|
"transferAmt": model.exchangeRateDetail?.transferFee ?? "",
|
|
"serviceCharge": model.exchangeRateDetail?.transferFee ?? "",
|
|
"discount": "",
|
|
"exRate": model.exchangeRateDetail?.apiExchangeRate ?? "",
|
|
"calBy": model.exchangeRateDetail?.calcBy ?? "",
|
|
"tpExRate": model.exchangeRateDetail?.apiExchangeRate ?? "",
|
|
"tpPCurr": model.exchangeRateDetail?.reciepientCurrency ?? "",
|
|
"foreX_SESSION_ID": model.exchangeRateDetail?.forexId ?? "",
|
|
|
|
"purposeOfRemittance": reciepient.reasonId ?? "",
|
|
"sourceOfFund": "123",
|
|
"relWithSender": reciepient.relationId ?? "",
|
|
"occupation": "",
|
|
"ipAddress": "",
|
|
"rState": "",
|
|
"rLocation": "",
|
|
|
|
"isAgreed": "TRUE",
|
|
"txnPassword": model.transactionPassword ?? "",
|
|
"ReceiverAccountNumber": model.paymemtMode?.accountNumber ?? ""
|
|
]
|
|
|
|
return params
|
|
}
|
|
}
|