From ab6ef7166ee51721fec3e3537414f6d6ed08b49d Mon Sep 17 00:00:00 2001 From: younger_times <841720330@qq.com> Date: 星期二, 30 五月 2023 18:07:58 +0800 Subject: [PATCH] 新增功能 --- OKProject/Class/Home/ViewModel/TravelViewModel.swift | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/OKProject/Class/Home/ViewModel/TravelViewModel.swift b/OKProject/Class/Home/ViewModel/TravelViewModel.swift index 66c11c4..43cc2ec 100644 --- a/OKProject/Class/Home/ViewModel/TravelViewModel.swift +++ b/OKProject/Class/Home/ViewModel/TravelViewModel.swift @@ -53,7 +53,22 @@ /// 订单Id let orderId = BehaviorRelay<Int>(value: 0) + /// 企业审核情况 let authStatus = BehaviorRelay<Bool>(value: false) + + /// 出行事由 + let trailReason = BehaviorRelay<String?>(value: nil) + + /// 出行具体内容 + let trailContentReason = BehaviorRelay<String?>(value: nil) + + /// 付费方式 + let officalPaymentType = BehaviorRelay<OfficalPaymentType>(value: .selfPay) + + let passengers = BehaviorRelay<[PassengerInfo]>(value: []) + + /// 计费方式 + let calType = BehaviorRelay<Int?>(value: nil) /// 获取正在进行中的订单 func queryServingOrder() { @@ -161,6 +176,34 @@ .disposed(by: disposeBag) } + func officalOrder(){ + guard let originInfo = YYMapViewManager.share.originInfo.value,let destination = YYMapViewManager.share.destination.value else {return} + taxiOrderSubject.onNext(.loading) + let orderType = YYMapViewManager.share.state.value == .appointment ? 2 : 1 + let substitute = YYMapViewManager.share.passenger.value == nil ? 0 : 1 + let timeStamp = DateInRegion(Date(), region: Region(calendar: Calendars.gregorian, zone: Zones.current,locale: Locales.current)).toFormat("yyyy-MM-dd HH:mm") + let travelTime = orderType == 2 ? YYMapViewManager.share.timeStamp.value?.toFormat(format: "yyyy-MM-dd HH:mm") ?? timeStamp : timeStamp + + if substitute == 1{ + YYMapViewManager.share.passenger.accept(PassengerModel(name: app.userInfo.nickName, phone: app.userInfo.phone)) + } + + let reqModel = OfficalRequstModel(serverCarModelId:selectedCarType.value?.id,calType: .Single, endAddress: destination.name, endLat: destination.lat, endLon: destination.lon, orderSource: 1, orderType: orderType, passengers: YYMapViewManager.share.passenger.value?.name, passengersPhone: YYMapViewManager.share.passenger.value?.phone, payWay: officalPaymentType.value.rawValue, people: passengers.value.arrayToJson(), peopleNum: passengers.value.count, placementLat: Double(YYMapViewManager.share.userLocation.latitude), placementLon: Double(YYMapViewManager.share.userLocation.longitude), reason: trailContentReason.value, reasonTypeNames: trailReason.value, startAddress: originInfo.name, startLat: originInfo.lat, startLon: originInfo.lon, substitute: substitute, travelTime: timeStamp, type: 1) + + APIManager.shared.provider.rx + .request(.saveOrderBusiness(model: reqModel)).map(YYModel<SwitchCityModel>.self) + .validate() + .subscribe(onSuccess: {[unowned self] (model) in + guard let data = model.data else{return} + self.orderId.accept(data.id) + self.taxiOrderSubject.onNext(.success(nil)) + }) { [unowned self] (error) in + self.taxiOrderSubject.onNext(.error(error)) + } + .disposed(by: disposeBag) + + } + /// 快车下单 func specialOrder() { -- Gitblit v1.7.1