//
|
// TravelServicePayViewModel.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/6/10.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
import RxSwift
|
import RxCocoa
|
class TravelServicePayViewModel: YYViewModel {
|
|
/// 订单Id
|
let orderId = BehaviorRelay<Int>(value: 0)
|
|
/// 支付方式
|
let payType = BehaviorRelay<Int>(value: 0)
|
|
/// 优惠券Id
|
let couponId = BehaviorRelay<Int?>(value: nil)
|
|
/// 订单类型
|
let orderType = BehaviorRelay<OrderType>(value: .taxi)
|
let payway = BehaviorRelay<Int>(value: 1)
|
|
/// 优惠券数量
|
let couponNum = BehaviorRelay<Int>(value: 0)
|
|
/// 支付页面获取可用优惠券数量和余额
|
let queryBalanceSubject = PublishSubject<RequestStatus>()
|
|
let couponDataType = BehaviorRelay<CouponDataType?>(value: nil)
|
|
|
/// 支付页面获取可用优惠券数量和余额
|
func queryBalance() {
|
queryBalanceSubject.onNext(.loading)
|
APIManager.shared.provider.rx
|
.request(.queryBalance(orderId: orderId.value, orderType: orderType.value.rawValue))
|
.map(YYModel<QueryBalanceModel>.self)
|
.validate()
|
.subscribe(onSuccess: { [unowned self] (model) in
|
self.couponNum.accept(model.data?.coupon ?? 0)
|
self.queryBalanceSubject.onNext(.success(model.data))
|
}) {[unowned self] (error) in
|
self.queryBalanceSubject.onNext(.error(error))
|
}
|
.disposed(by: disposeBag)
|
}
|
|
/// 支付订单操作
|
func payTaxiOrder(type:PayTypeNormal? = nil) {
|
requestSubject.onNext(.loading)
|
APIManager.shared.provider.rx
|
.request(.payTaxiOrder(orderId: orderId.value, payType: payType.value,orderType: orderType.value.rawValue, couponId: couponId.value,objectType:couponDataType.value))
|
.map(YYModel<PayModel>.self)
|
.validate()
|
.subscribe(onSuccess: { [unowned self] (model) in
|
self.requestSubject.onNext(.success(model.data))
|
}) {[unowned self] (error) in
|
self.requestSubject.onNext(.error(error))
|
}
|
.disposed(by: disposeBag)
|
}
|
/// 支付物流差价
|
func paylogisicOrder() {
|
requestSubject.onNext(.loading)
|
APIManager.shared.provider.rx
|
.request(.payOrderLogisticsSpread(orderId: orderId.value, payType: payType.value))
|
.map(YYModel<PayModel>.self)
|
.validate()
|
.subscribe(onSuccess: { [unowned self] (model) in
|
self.requestSubject.onNext(.success(model.data))
|
}) {[unowned self] (error) in
|
self.requestSubject.onNext(.error(error))
|
}
|
.disposed(by: disposeBag)
|
}
|
|
|
/// 支付感谢费
|
func payThanksOrder(money:Double,orderType:OrderType,payType:PayTypeNormal){
|
requestSubject.onNext(.loading)
|
APIManager.shared.provider.rx.request(.payThankYouFee(money: money, orderId: orderId.value, orderType: orderType, payType: payType)).map(YYModel<PayModel>.self).validate().subscribe(onSuccess: {model in
|
self.requestSubject.onNext(.success(model.data))
|
}) { error in
|
self.requestSubject.onNext(.error(error))
|
}.disposed(by: disposeBag)
|
}
|
}
|