宽窄优行-由【嘉易行】项目成品而来
无故事王国
2023-05-23 a2ca0e4e77e880eb328c82a37e7ae67fb09198bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//
//  EnterpriseViewModel.swift
//  OKProject
//
//  Created by 无故事王国 on 2023/5/22.
//  Copyright © 2023 yangwang. All rights reserved.
//
 
import Foundation
import RxSwift
import RxCocoa
 
class EnterpriseViewModel:YYViewModel{
    func queryEnterpriseInfo(_ clouse:@escaping (ResponseStatus<EnterpriseInfoModel>)->Void){
        show()
        APIManager.shared.provider.rx.request(.queryCompany).mapTravelThenValidate(EnterpriseInfoModel.self).subscribe { result in
            self.hidden()
            switch result {
                case .success(let element):
                    clouse(ResponseStatus.success(element!))
                case .failure(let e):
                    clouse(ResponseStatus.error(e))
            }
        } onError: { error in
            self.hidden()
            clouse(ResponseStatus.error(error))
        }.disposed(by: disposeBag)
    }
 
    func submitEnterprise(id:Int? = nil,name:String,mailbox:String,legalName:String,legalPhone:String,identifier:String,contactAddress:String,businessLicense:String,clouse: @escaping (ResponseStatus<Nothing>)->Void){
        show()
        APIManager.shared.provider.rx.request(.submitCompany(name: name, mailbox: mailbox, legalName: legalName, legalPhone: legalPhone, identifier: identifier, contactAddress: contactAddress, businessLicense: businessLicense)).mapTravelThenValidate(Nothing.self).subscribe { result in
            self.hidden()
            switch result {
                case .success(_):
                    clouse(ResponseStatus.success(nil))
                case .failure(let e):
                    clouse(ResponseStatus.error(e))
            }
        } onError: { error in
            self.hidden()
            clouse(ResponseStatus.error(error))
        }.disposed(by: disposeBag)
    }
 
    func saveCompanyLimit(applyQuota:String,applyReason:String,clouse: @escaping (ResponseStatus<Nothing>)->Void){
        show()
        APIManager.shared.provider.rx.request(.saveCompanyLimit(applyQuota: applyQuota, applyReason: applyReason)).mapTravelThenValidate(Nothing.self).subscribe { result in
            self.hidden()
            switch result {
                case .success(_):
                    clouse(ResponseStatus.success(nil))
                case .failure(let e):
                    clouse(ResponseStatus.error(e))
            }
        } onError: { error in
            self.hidden()
            clouse(ResponseStatus.error(error))
        }.disposed(by: disposeBag)
    }
}