CoachAPI.swift 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //
  2. // CoachAPI.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/13.
  6. //
  7. import Moya
  8. import SwiftyUserDefaults
  9. enum CoachAPI {
  10. //获取教练信息
  11. case coachInfo(id:String ,city:String)
  12. //获取教练二维码
  13. case coachQrInfo(id:String ,city:String)
  14. //获取教练的学员
  15. case coachInfoList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String )
  16. case coachInfoListDate(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String ,startDate:String ,endDate:String )
  17. //获取教练的学员-我的学员
  18. case coachInfoMyList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String )
  19. //获取教练的学员-针对搜索专用-全局
  20. case allStudentInfoList(city:String,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int)
  21. //预报名-我的学员-搜索
  22. case yallStudentInfoList(city:String,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int)
  23. //预报名-在校学员-搜索
  24. case yallSchoolStudentInfoList(city:String,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int)
  25. //获取教练预报名的学员
  26. case coachTempList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String )
  27. case coachTempListDate(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String ,startDate:String ,endDate:String )
  28. //获取我的教练预报名的学员
  29. case mycoachTempList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String )
  30. //通过id获取学员详细
  31. case studentInfoById(city:String ,id:Int )
  32. //通过id获取预报名学员详细
  33. case studentInfoTempById(city:String ,id:Int )
  34. //温州-报名时间-通过id获取学员详细
  35. case studentInfoApplyById(city:String ,id:Int ,applyDate:String)
  36. //查询成绩
  37. case stuScoreByOutId(pageNum:Int ,pageSize:Int ,stuOutId:Int)
  38. //查询签到记录
  39. case stuTmsSignListByStuId(pageNum:Int ,pageSize:Int ,stuOutId:Int,city:String)
  40. //查询人脸比对记录
  41. case stuTmsLogFaceListByStuId(pageNum:Int ,pageSize:Int ,stuOutId:Int,city:String)
  42. }
  43. extension CoachAPI: TargetType {
  44. var baseURL: URL {
  45. return URL(string: HttpRequest.api.path)!
  46. // switch self {
  47. // case .coachInfo,.coachQrInfo,.coachInfoList,.coachInfoMyList,.coachTempList,.studentInfoById,
  48. // .stuScoreByOutId,.stuTmsSignListByStuId,.stuTmsLogFaceListByStuId,
  49. // .allStudentInfoList,.yallStudentInfoList,.yallSchoolStudentInfoList:
  50. // return URL(string: HttpRequest.api.path)!
  51. }
  52. var path: String {
  53. // city:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int
  54. switch self {
  55. case .coachInfo(_,_):
  56. return "/jsjp-admin/open-api/tms/coachInfo/getCoachInfo"
  57. case .coachQrInfo(_,_):
  58. return "/jsjp-admin/open-api/tms/coachInfo/getCoachQrInfo"
  59. case .coachInfoList(_,_,_,_,_,_,_,_):
  60. return "/jsjp-admin/open-api/tms/coachInfo/list"
  61. case .coachInfoListDate(_,_,_,_,_,_,_,_,_,_):
  62. return "/jsjp-admin/open-api/tms/coachInfo/list"
  63. case .coachInfoMyList(_,_,_,_,_,_,_,_):
  64. return "/jsjp-admin/open-api/tms/coachInfo/myList"
  65. case .allStudentInfoList(_, _, _, _, _, _):
  66. return "/jsjp-admin/open-api/tms/coachInfo/allStudentInfoList"
  67. case .yallStudentInfoList(_, _, _, _, _, _):
  68. return "/jsjp-admin/open-api/tms/coachInfo/allStudentInfoList"
  69. case .yallSchoolStudentInfoList(_, _, _, _, _, _):
  70. return "/jsjp-admin/open-api/tms/coachInfo/allSchoolStudentInfoList"
  71. case .coachTempList(_,_,_,_,_,_,_,_):
  72. return "/jsjp-admin/open-api/tms/coachInfo/studentTempList"
  73. case .coachTempListDate(_,_,_,_,_,_,_,_,_,_):
  74. return "/jsjp-admin/open-api/tms/coachInfo/studentTempList"
  75. case .mycoachTempList(_,_,_,_,_,_,_,_):
  76. return "/jsjp-admin/open-api/tms/coachInfo/myStudentTempList"
  77. case .studentInfoApplyById(_,_,_):
  78. return "/jsjp-admin/open-api/tms/coachInfo/getTmsStudentInfoApplyById"
  79. case .studentInfoById(_,_):
  80. return "/jsjp-admin/open-api/tms/coachInfo/getTmsStudentInfoById"
  81. case .studentInfoTempById(_,_):
  82. return "/jsjp-admin/open-api/tms/coachInfo/getTmsStudentInfoTempById"
  83. case .stuScoreByOutId(_,_,_):
  84. return "/jsjp-admin/open-api/gzpt/userInfo/getUserScoreByOutId"
  85. case .stuTmsSignListByStuId(_,_,_,_):
  86. return "/jsjp-admin/open-api/tms/coachInfo/getTmsSignListByStuId"
  87. case .stuTmsLogFaceListByStuId(_,_,_,_):
  88. return "/jsjp-admin/open-api/tms/coachInfo/getTmsLogFaceListByStuId"
  89. }
  90. }
  91. var method: Moya.Method {
  92. switch self {
  93. case .coachInfo,.coachQrInfo,.coachInfoList,.coachTempList,.coachTempListDate,
  94. .studentInfoById,.stuScoreByOutId,.stuTmsLogFaceListByStuId,
  95. .studentInfoTempById:
  96. return .get
  97. default:
  98. return .get
  99. }
  100. }
  101. var sampleData: Data {
  102. return Data()
  103. }
  104. var task: Moya.Task {
  105. switch self {
  106. case .coachInfo(_,_),.coachQrInfo(_,_),.coachInfoList(_,_,_,_,_,_,_,_),.coachInfoListDate(_,_,_,_,_,_,_,_,_,_),.coachInfoMyList(_,_,_,_,_,_,_,_),.coachTempList(_,_,_,_,_,_,_,_),.coachTempListDate(_,_,_,_,_,_,_,_,_,_),.studentInfoById(_,_),.studentInfoApplyById(_,_,_)
  107. ,.stuScoreByOutId(_,_,_),.stuTmsSignListByStuId(_,_,_,_),.stuTmsLogFaceListByStuId(_,_,_,_),
  108. .allStudentInfoList(_, _, _, _, _, _),.yallStudentInfoList(_, _, _, _, _, _),.yallSchoolStudentInfoList(_, _, _, _, _, _),.mycoachTempList(_,_,_,_,_,_,_,_),
  109. .studentInfoTempById(_,_):
  110. if let parameters = parameters {
  111. return .requestParameters(parameters: getMyParameters(pars: parameters)!, encoding: URLEncoding.default)
  112. }
  113. return .requestPlain
  114. }
  115. }
  116. var headers: [String: String]? {
  117. return ["Content-Type":"application/json"]
  118. }
  119. func getMyParameters(pars:[String : Any])->[String : Any]?{
  120. var parameters: [String : Any] = [:]
  121. for key in pars.keys {
  122. let value = pars[key]
  123. if value is String && value as! String == "" {
  124. }else{
  125. parameters[key] = value
  126. }
  127. }
  128. return parameters
  129. }
  130. var parameters: [String : Any]? {
  131. switch self {
  132. case let .coachInfo(id,city):
  133. return ["city": city,
  134. "id": id,]
  135. case let .coachQrInfo(id,city):
  136. return ["city": city,
  137. "id": id,]
  138. case let .coachTempList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state):
  139. return ["city": city,
  140. "appCoachId": appCoachId,
  141. "coachId": coachId,
  142. "field": field,
  143. "pageNum": pageNum,
  144. "pageSize": pageSize,
  145. "schoolId": schoolId==0 ?"":"\(schoolId)",
  146. "state": state,]
  147. case let .coachTempListDate(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state, startDate ,endDate):
  148. return ["city": city,
  149. "appCoachId": appCoachId,
  150. "coachId": coachId,
  151. "field": field,
  152. "pageNum": pageNum,
  153. "pageSize": pageSize,
  154. "schoolId": schoolId==0 ?"":"\(schoolId)",
  155. "state": state,
  156. "startDate": startDate,
  157. "endDate": endDate,
  158. ]
  159. case let .mycoachTempList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state):
  160. return ["city": city,
  161. "appCoachId": appCoachId,
  162. "coachId": coachId,
  163. "field": field,
  164. "pageNum": pageNum,
  165. "pageSize": pageSize,
  166. "schoolId": schoolId==0 ?"":"\(schoolId)",
  167. "state": state,]
  168. case let .coachInfoMyList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state):
  169. return ["city": city,
  170. "appCoachId": appCoachId,
  171. "coachId": coachId,
  172. "field": field,
  173. "pageNum": pageNum,
  174. "pageSize": pageSize,
  175. "schoolId": schoolId==0 ?"":"\(schoolId)",
  176. "state": state,]
  177. case let .coachInfoList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state):
  178. return ["city": city,
  179. "appCoachId": appCoachId,
  180. "coachId": coachId,
  181. "field": field,
  182. "pageNum": pageNum,
  183. "pageSize": pageSize,
  184. "schoolId": schoolId==0 ?"":"\(schoolId)",
  185. "state": state,]
  186. case let .coachInfoListDate(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state, startDate,endDate):
  187. return ["city": city,
  188. "appCoachId": appCoachId,
  189. "coachId": coachId,
  190. "field": field,
  191. "pageNum": pageNum,
  192. "pageSize": pageSize,
  193. "schoolId": schoolId==0 ?"":"\(schoolId)",
  194. "state": state,
  195. "startDate": startDate,
  196. "endDate": endDate,
  197. ]
  198. case let .allStudentInfoList(city, coachId, field, pageNum, pageSize, schoolId):
  199. return ["city": city,
  200. "coachId": coachId,
  201. "field": field,
  202. "pageNum": pageNum,
  203. "pageSize": pageSize,
  204. "schoolId": schoolId==0 ?"":"\(schoolId)"]
  205. case let .yallStudentInfoList(city, coachId, field, pageNum, pageSize, schoolId):
  206. return ["city": city,
  207. "coachId": coachId,
  208. "field": field,
  209. "pageNum": pageNum,
  210. "pageSize": pageSize,
  211. "schoolId": schoolId==0 ?"":"\(schoolId)"]
  212. case let .yallSchoolStudentInfoList(city, coachId, field, pageNum, pageSize, schoolId):
  213. return ["city": city,
  214. "coachId": coachId,
  215. "field": field,
  216. "pageNum": pageNum,
  217. "pageSize": pageSize,
  218. "schoolId": schoolId==0 ?"":"\(schoolId)"]
  219. case let .studentInfoById(city,id):
  220. return ["city": city,
  221. "id": id,]
  222. case let .studentInfoTempById(city,id):
  223. return ["city": city,
  224. "id": id,]
  225. case let .studentInfoApplyById(city, id, applyDate):
  226. return ["applyDate":applyDate,
  227. "city": city,
  228. "id": id,]
  229. case let .stuScoreByOutId(pageNum, pageSize, stuOutId):
  230. return ["pageNum": pageNum,
  231. "pageSize": pageSize,
  232. "stuOutId": stuOutId,]
  233. case let .stuTmsSignListByStuId(pageNum, pageSize, stuOutId, city):
  234. return ["pageNum": pageNum,
  235. "pageSize": pageSize,
  236. "id": stuOutId,
  237. "city":city,]
  238. case let .stuTmsLogFaceListByStuId(pageNum, pageSize, stuOutId, city):
  239. return ["pageNum": pageNum,
  240. "pageSize": pageSize,
  241. "id": stuOutId,
  242. "city":city,]
  243. default:
  244. return nil
  245. }
  246. }
  247. }