CoachService.swift 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // CoachService.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/13.
  6. //
  7. import RxSwift
  8. import RxCocoa
  9. import SwiftyJSON
  10. protocol CoachServiceType {
  11. //获取教练信息
  12. func coachInfoRequest(id:String ,city:String) -> Single<UserInfo>
  13. //获取教练二维码
  14. func coachQrInfoRequest(id:String ,city:String) -> Single<UserInfo>
  15. //获取我的学员信息list
  16. func coachInfoListRequest(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String) -> Single<TraineeDataModel>
  17. }
  18. final class CoachService: CoachServiceType {
  19. private let networking : CoachNetworking
  20. init(networking: CoachNetworking) {
  21. self.networking = networking
  22. }
  23. func coachInfoRequest(id: String, city: String) -> RxSwift.Single<UserInfo> {
  24. let api = CoachAPI.coachInfo(id: id, city: city)
  25. return networking.request(api).map(UserInfo.self)
  26. }
  27. func coachQrInfoRequest(id: String, city: String) -> RxSwift.Single<UserInfo> {
  28. let api = CoachAPI.coachQrInfo(id: id, city: city)
  29. return networking.request(api).map(UserInfo.self)
  30. }
  31. func coachInfoListRequest(city: String, appCoachId: String, coachId: String, field: String, pageNum: Int, pageSize: Int, schoolId: Int, state: String) -> RxSwift.Single<TraineeDataModel> {
  32. let api = CoachAPI.coachInfoList(city: city, appCoachId: appCoachId, coachId: coachId, field: field, pageNum: pageNum, pageSize: pageSize, schoolId: schoolId, state: state)
  33. return networking.request(api).map(TraineeDataModel.self,isModel: true)
  34. }
  35. }