// // StatisticsAPI.swift // JiaPeiManage // // Created by Ning.ge on 2023/6/26. // import Moya import SwiftyUserDefaults enum StatisticsAPI { //查询每日报名数 case everyDayStuCount(city:String,schoolId:Int,startDate:String, endDate:String,fieldType:Int,sortType:Int) //查询每月报名数 case everyMonthStuCount(city:String,schoolId:Int,startMonth:String, endMonth:String,fieldType:Int,sortType:Int) //查询每年报名数 case everyYearStuCount(city:String,schoolId:Int,startYear:String, endYear:String,fieldType:Int,sortType:Int) //查询驾校ID 报名数 case statisticsStuCount(city:String,schoolId:Int) } extension StatisticsAPI: TargetType { var baseURL: URL { switch self { case .everyDayStuCount,.everyMonthStuCount,.everyYearStuCount,.statisticsStuCount: return URL(string: HttpRequest.api.path)! } } var path: String { switch self { case .everyDayStuCount(_,_,_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/getEveryDayStuCountBySchoolId" case .everyMonthStuCount(_,_,_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/getEveryMonthStuCountBySchoolId" case .everyYearStuCount(_,_,_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/getEveryYearStuCountBySchoolId" case .statisticsStuCount(_,_): return "/jsjp-admin/open-api/tms/coachInfo/getStatisticsStuCountBySchoolId" } } var method: Moya.Method { // switch self { // case .loginUser,.dictUser: // return .get // case .updateUser: // return .put // default: // return .get // } return .get } var sampleData: Data { return Data() } var task: Moya.Task { switch self { case .everyDayStuCount(_,_,_,_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain case .everyMonthStuCount(_,_,_,_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain case .everyYearStuCount(_,_,_,_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain case .statisticsStuCount(_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain } } var headers: [String: String]? { return ["Content-Type":"application/json"] } var parameters: [String : Any]? { switch self { case let .everyDayStuCount(city, schoolId,startDate,endDate,fieldType,sortType): return ["city": city, "schoolId": schoolId, "startDate":startDate, "endDate":endDate, "fieldType":fieldType, "sortType":sortType,] case let .everyMonthStuCount(city, schoolId,startMonth,endMonth,fieldType,sortType): return ["city": city, "schoolId": schoolId, "startMonth":startMonth, "endMonth":endMonth, "fieldType":fieldType, "sortType":sortType,] case let .everyYearStuCount(city, schoolId,startYear,endYear,fieldType,sortType): return ["city": city, "schoolId": schoolId, "startYear":startYear, "endYear":endYear, "fieldType":fieldType, "sortType":sortType,] case let .statisticsStuCount(city, schoolId): return ["city": city, "schoolId": schoolId] default: return nil } } }