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.
106 lines
2.5 KiB
106 lines
2.5 KiB
//
|
|
// autoRefundService.swift
|
|
// GME Remit
|
|
//
|
|
// Created by Mac on 11/21/18.
|
|
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import Alamofire
|
|
|
|
protocol FetchAutoRefundInfo: ApiServiceType {
|
|
func fetchAutoRefundInfo(
|
|
username: String,
|
|
success: @escaping (AutoRefund) -> Void,
|
|
failure: @escaping (Error) -> Void
|
|
)
|
|
}
|
|
|
|
extension FetchAutoRefundInfo {
|
|
func fetchAutoRefundInfo(
|
|
username: String,
|
|
success: @escaping (AutoRefund) -> Void,
|
|
failure: @escaping (Error) -> Void
|
|
) {
|
|
let url = baseUrl + "/refund/\(username)"
|
|
auth.request(
|
|
method: .get,
|
|
url: url,
|
|
params: nil,
|
|
encoding: URLEncoding.default,
|
|
success: { (response: AutoRefundContainer) in
|
|
if (response.errorCode ?? "") == "1" {
|
|
let error = NSError(
|
|
domain: "Network",
|
|
code: 0,
|
|
userInfo: [NSLocalizedDescriptionKey : response.message ?? ""]
|
|
)
|
|
failure(error)
|
|
} else {
|
|
if let model = response.data { success(model) } else {
|
|
let error = NSError(
|
|
domain: "FetchAutoRefundInfo",
|
|
code: 0,
|
|
userInfo: [NSLocalizedDescriptionKey : "Could not parse json"]
|
|
)
|
|
failure(error)
|
|
}
|
|
}
|
|
},
|
|
failure: { (error) in
|
|
failure(error)
|
|
}
|
|
)
|
|
}
|
|
}
|
|
|
|
protocol RefundService: ApiServiceType {
|
|
func refund(
|
|
amount: String,
|
|
userName: String,
|
|
chargeAmount: String,
|
|
userId: String,
|
|
success: @escaping (SuccessMessage?) -> Void,
|
|
failure: @escaping (Error) -> Void
|
|
)
|
|
}
|
|
|
|
extension RefundService {
|
|
func refund(
|
|
amount: String,
|
|
userName: String,
|
|
chargeAmount: String,
|
|
userId: String,
|
|
success: @escaping (SuccessMessage?) -> Void,
|
|
failure: @escaping (Error) -> Void
|
|
) {
|
|
let url = baseUrl + "/refund/proceed"
|
|
let params = [
|
|
"Username": userName,
|
|
"Amount": amount,
|
|
"ChargeAmount": chargeAmount,
|
|
"UserId": userId
|
|
]
|
|
auth.request(
|
|
method: .post,
|
|
url: url,
|
|
params: params,
|
|
success: { (response: SuccessMessageContainer) in
|
|
if (response.errorCode ?? "") == "1" {
|
|
let error = NSError(
|
|
domain: "Network",
|
|
code: 0,
|
|
userInfo: [NSLocalizedDescriptionKey : response.message ?? ""]
|
|
)
|
|
failure(error)
|
|
} else {
|
|
success(response.data)
|
|
}
|
|
},
|
|
failure: { (error) in
|
|
failure(error)
|
|
}
|
|
)
|
|
}
|
|
}
|