罗明文
1 天以前 aa512ff5fc428fbee046d6bc0761c3675023769e
app/src/main/java/com/dollearn/student/network/ApiService.kt
@@ -2,13 +2,11 @@
import cn.sinata.xldutils.data.ResultData
import com.google.gson.JsonObject
import com.dollearn.student.WeparkApplication
import com.dollearn.student.WeparkApplication.Companion.storeId
import com.dollearn.student.DollearnApplication.Companion.storeId
import com.dollearn.student.network.entity.*
import com.dollearn.student.utils.Const
import com.dollearn.student.utils.pay.PayInfo
import io.reactivex.Flowable
import okhttp3.ResponseBody
import retrofit2.http.*
interface ApiService {
@@ -16,427 +14,14 @@
    @POST(Apis.H5_URL)
    fun getH5(@Field("type") type: Int): Flowable<ResultData<String>>
    @POST(Apis.queryBasisSet)
    fun queryBasisSet(): Flowable<ResultData<ArrayList<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryProvinceAndCity)
    fun queryProvinceAndCity(@Field("pcode") code: String?): Flowable<ResultData<ArrayList<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryStoreByCityCode)
    fun queryStoreByCityCode(@Field("cityCode") code: String,@Field("provinceCode") provinceCode: String): Flowable<ResultData<ArrayList<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryVersionByType)
    fun queryVersionByType(
        @Field("type") type: Int = 1
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.querySystemSetByType)
    fun querySystemSetByType(
        @Field("type") type: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.queryJoinPlayPai)
    fun queryJoinPlayPai(
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<HomeData>>
    @FormUrlEncoded
    @POST(Apis.addVipPayment)
    fun addVipPayment(@Field("payType") payType: Int): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.paymentCourse)
    fun paymentCourse(
        @Field("payType") payType: Int,
        @Field("id") id: String,
        @Field("coursePackagePaymentConfigId") coursePackagePaymentConfigId: String,
        @Field("price") price: Double,
        @Field("studentIds") studentIds: String,
        @Field("couponId") couponId: Long,
        @Field("orderId") orderId: String?
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.payment)
    fun paymentCourse2(@FieldMap map: HashMap<String, Any?>): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.payment)
    fun payment(
        @Field("payType") payType: Int,
        @Field("lessonId") id: String,
        @Field("coursePayId") coursePayId: String,
        @Field("courseHoursNum") courseHoursNum: Int,
        @Field("stuId") studentIds: String,
        @Field("useConpon") useConpon: Int,
        @Field("conponId") couponId: Long
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.paymentCompetition)
    fun paymentCompetition(
        @Field("payType") payType: Int,
        @Field("id") id: String,
        @Field("ids") ids: String,
        @Field("coursePaymentId") coursePaymentId: String?
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.queryStoreConfig)
    fun queryStoreConfig(@Field("storeId") storeId: String): Flowable<ResultData<List<Banner>>>
    @FormUrlEncoded
    @POST(Apis.queryIndexSet)
    fun queryIndexSet(@Field("id") storeId: String): Flowable<ResultData<List<Banner>>>
    @FormUrlEncoded
    @POST(Apis.queryPhysical)
    fun queryPhysical(@Field("stuID") id: String): Flowable<ResultData<Report>>
    @FormUrlEncoded
    @POST(Apis.cancelCourse)
    fun cancelCourse(@Field("courseStuRecordId") courseStuRecordId: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.reverse)
    fun reverse(
        @Field("time") time: String,
        @Field("stuId") stuId: String,
        @Field("courseID") courseID: String
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.stuAppointList)
    fun stuAppointList(
        @Field("stuId") stuId: String,
        @Field("appointStatus") appointStatus: Int,
        @Field("timeType") timeType: Int?,
        @Field("search") search: String?,
        @Field("pageNum") pageNum: Int,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<List<ReserveRecord>>>
    @FormUrlEncoded
    @POST(Apis.goodsOfCourseStore)
    fun goodsOfCourseStore(
        @Field("isCourse") isCourse: Int,
        @Field("pointsMerId") pointsMerId: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<DefaultData>>
    @GET(Apis.userDetails)
    fun userDetails(): Flowable<ResultData<UserBean>>
    @GET(Apis.shareInfo)
    fun shareInfo(): Flowable<ResultData<ConfigBean>>
    @GET(Apis.studyRecord)
    fun studyRecord(): Flowable<ResultData<StudyRecord>>
    @FormUrlEncoded
    @POST(Apis.uploadImage)
    fun uploadImage(@Field("userImage") userImage: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.queryCompetitionList)
    fun queryCompetitionList(
        @Field("cityCode") cityCode: String?, @Field("registerCondition") registerCondition: Int?,
        @Field("heat") heat: String?, @Field("content") search: String?
    ): Flowable<ResultData<List<Match>>>
    @FormUrlEncoded
    @POST(Apis.queryClassificationBenefitsVideosList)
    fun queryClassificationBenefitsVideosList(
        @Field("position") type: Int,
        @Field("search") search: String?
    ): Flowable<ResultData<List<VideoTypeBean>>>
    @FormUrlEncoded
    @POST(Apis.queryBenefitsVideosList)
    fun queryBenefitsVideosList(
        @Field("classificationId") classificationId: String,
        @Field("pageNo") page: Int,
        @Field("pageSize") pageSize: Int,
        @Field("search") search: String?
    ): Flowable<ResultData<List<VideoBean>>>
    @FormUrlEncoded
    @POST(Apis.queryBenefitsVideosInfo)
    fun queryBenefitsVideosInfo(@Field("id") id: String): Flowable<ResultData<VideoBean>>
    @FormUrlEncoded
    @POST(Apis.afterSourceDetail)
    fun afterSourceDetail(
        @Field("videoId") id: String,
        @Field("scId") scId: String,
        @Field("coursePackageId") coursePackageId: String
    ): Flowable<ResultData<Practice>>
    @FormUrlEncoded
    @POST(Apis.receiveAward)
    fun receiveAward(@Field("id") id: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.updateVideoStatus)
    fun updateVideoStatus(@Field("videoId") videoId: String,@Field("coursePackageId") coursePackageId: String,
                          @Field("scId") scId: String?,@Field("isOver") isOver: Int = 1): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.querySiteList)
    fun querySiteList(
        @Field("pageNum") page: Int,
        @Field("pageSize") pageSize: Int,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("cityCode") cityCode: String?,
        @Field("startTime") startTime: String?,
        @Field("endTime") endTime: String?,
        @Field("siteTypeId") siteTypeId: Int?,
        @Field("storeId") storeId: String?,
        @Field("search") search: String?
    ): Flowable<ResultData<List<Place>>>
    @FormUrlEncoded
    @POST(Apis.queryMySite)
    fun queryMySite(
        @Field("pageNo") page: Int,
        @Field("pageSize") pageSize: Int,
        @Field("status") status: Int?
    ): Flowable<ResultData<List<Place>>>
    @FormUrlEncoded
    @POST(Apis.cancelMySite)
    fun cancelMySite(@Field("id") id: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.queryMyCompetitionList)
    fun queryMyCompetitionList(
        @Field("type") type: Int,
        @Field("pageNo") page: Int,
        @Field("pageSize") pageSize: Int
    ): Flowable<ResultData<List<Match>>>
    @POST(Apis.querySiteType)
    fun querySiteType(): Flowable<ResultData<List<CommonData>>>
    @POST(Apis.weeksOfGetHours)
    fun weeksOfGetHours(): Flowable<ResultData<Int>>
    @FormUrlEncoded
    @POST(Apis.weeksOfAddHours)
    fun weeksOfAddHours(@Field("packetId") id: Long): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.paymentCourseCouponList)
    fun paymentCourseCouponList(@Field("coursePackagePaymentConfigId") id: Int?): Flowable<ResultData<List<Coupon>>>
    @FormUrlEncoded
    @POST(Apis.queryCouponList)
    fun queryCouponList(@Field("distributionMethod") id: Int = 2): Flowable<ResultData<List<Coupon>>>
    @FormUrlEncoded
    @POST(Apis.queryMySiteById)
    fun queryMySiteById(@Field("id") id: String): Flowable<ResultData<MySite>>
    @FormUrlEncoded
    @POST(Apis.payCourseInfo)
    fun payCourseInfo(@Field("courseId") id: Int): Flowable<ResultData<PayCoursInfo>>
    @FormUrlEncoded
    @POST(Apis.payCourse)
    fun payCourse(@FieldMap hashMap: HashMap<String,Any>,@Field("time") id: List<String>): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.getMyCourseList)
    fun getMyCourseList(@Field("storeId") id: Int=storeId.toInt()): Flowable<ResultData<List<MyCourseList>>>
    @POST(Apis.queryArrangeCourseList)
    fun queryArrangeCourseList(): Flowable<ResultData<List<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.registeredCourses)
    fun registeredCourses(
        @Field("courseTypeId") courseTypeId: Int?,
        @Field("search") search: String?
    ): Flowable<ResultData<List<JoinedCourse>>>
    @FormUrlEncoded
    @POST(Apis.querySiteTimes)
    fun querySiteTimes(
        @Field("id") id: String,
        @Field("day") day: String,
        @Field("halfName") halfName: String?,
        @Field("siteName") siteName: String?
    ): Flowable<ResultData<List<PlaceTime>>>
    @FormUrlEncoded
    @POST(Apis.querySiteCouponList)
    fun querySiteCouponList(
        @Field("siteId") id: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("price") price: Double
    ): Flowable<ResultData<List<Coupon>>>
    @FormUrlEncoded
    @POST(Apis.querySiteInfo)
    fun querySiteInfo(
        @Field("id") id: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<Place>>
    @FormUrlEncoded
    @POST(Apis.reservationSite)
    fun reservationSite(
        @Field("id") id: String,
        @Field("booker") booker: String,
        @Field("phone") phone: String,
        @Field("times") times: String,
        @Field("payType") payType: Int,
        @Field("couponId") couponId: Long?,
        @Field("isHalf") isHalf: Int,
        @Field("halfName") halfName: String?,
        @Field("nextName") nextName: String
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.continuePaymentMySite)
    fun continuePaymentMySite(
        @Field("id") id: String,
        @Field("payType") payType: Int
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.queryCompetitionInfo)
    fun queryCompetitionInfo(
        @Field("id") id: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<Match>>
    @FormUrlEncoded
    @POST(Apis.queryMyCompetitionInfo)
    fun queryMyCompetitionInfo(@Field("id") id: String): Flowable<ResultData<Match>>
    @POST(Apis.queryAllCity)
    fun queryAllCity(): Flowable<ResultData<List<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryCourseList)
    fun queryCourseList(
        @Field("storeId") storeId: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("coursePackageTypeId") coursePackageTypeId: Int?,
        @Field("distanceSort") distanceSort: String?,
        @Field("salesRanking") salesRanking: String?,
        @Field("search") search: String?
    ): Flowable<ResultData<List<Course>>>
    @POST(Apis.queryCoursePackageType)
    fun queryCoursePackageType(): Flowable<ResultData<List<CommonData>>>
    @POST(Apis.getCourseAppUserDetails)
    fun getCourseAppUserDetails(): Flowable<ResultData<List<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryStoreLists)
    fun queryStoreLists(
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("cityCode") cityCode: String?
    ): Flowable<ResultData<List<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.queryCourseInfo)
    fun queryCourseInfo(
        @Field("id") id: String,
        @Field("stuId") stuId: String?,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<Course>>
    @FormUrlEncoded
    @POST(Apis.discountCourseDatas)
    fun discountCourseDatas(
        @Field("coursePackageDiscountId") id: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<WelfareDetail>>
    @FormUrlEncoded
    @POST(Apis.queryStudentData)
    fun queryStudentData(@Field("stuId") id: String?): Flowable<ResultData<CourseHomeData>>
    @POST(Apis.voucherCenter)
    fun voucherCenter(): Flowable<ResultData<List<RechargeItem>>>
    @POST(Apis.rechargeDescription)
    fun rechargeDescription(): Flowable<ResultData<String>>
    @FormUrlEncoded
    @POST(Apis.stuGoog)
    fun stuGoog(
        @Field("stuId") stuId: String
    ): Flowable<ResultData<ArrayList<Medal>>>
    @FormUrlEncoded
    @POST(Apis.stuMedal)
    fun stuMedal(
        @Field("stuId") stuId: String
    ): Flowable<ResultData<ArrayList<Medal>>>
    @FormUrlEncoded
    @POST(Apis.stuComment)
    fun stuComment(
        @Field("stuId") stuId: String
    ): Flowable<ResultData<ArrayList<Evaluation>>>
    @FormUrlEncoded
    @POST(Apis.afterSourceList)
    fun afterSourceList(
        @Field("stuId") stuId: String,
        @Field("courseTypeId") courseTypeId: Int?,
        @Field("search") search: String?
    ): Flowable<ResultData<ArrayList<Practice>>>
    @FormUrlEncoded
    @POST(Apis.weeksOfCourseDetails)
    fun weeksOfCourseDetails(
        @Field("stuId") stuId: String,  @Field("storeId") storeId: String, @Field("time") time: String,
        @Field("latitude") lat: Double?, @Field("longitude") lon: Double?
    ): Flowable<ResultData<WeeksOfCourseDetails>>
    @FormUrlEncoded
    @POST(Apis.switchStu)
    fun switchStu(@Field("stuId") stuId: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.lessonDetails)
    fun lessonDetails(
        @Field("stuId") stuId: String,
        @Field("lessonId") lessonId: String
    ): Flowable<ResultData<MyCourseDetail>>
    @FormUrlEncoded
    @POST(Apis.editDefault)
    fun editDefault(@Field("stuId") stuId: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.recordDetails)
    fun recordDetails(
        @Field("stuId") stuId: String,
        @Field("lessionId") lessonId: String,
        @Field("time") time: String?,
        @Field("type") type: Int?
    ): Flowable<ResultData<ArrayList<CourseRecord>>>
    @FormUrlEncoded
    @POST
@@ -450,28 +35,8 @@
        @Query("phone") phone: String
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST
    fun register(
        @Url url: String,
        @Field("phone") phone: String, @Field("password") password: String,
        @Field("code") code: String, @Field("invitePhone") invitePhone: String?,
        @Field("openId") openId: String?, @Field("lat") lat: Double?, @Field("lon") lon: Double?
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.bindWx)
    fun bindPhone(
        @Field("phone") phone: String, @Field("code") code: String, @Field("invitePhone") invitePhone: String?,
        @Field("openId") openId: String?, @Field("lat") lat: Double?, @Field("lon") lon: Double?
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.userLogin)
    fun userLogin(
        @Field("password") password: String,
        @Field("phone") phone: String
    ): Flowable<ResultData<String>>
    @GET(Apis.promptVoice)
    fun promptVoice(): Flowable<ResultData<ConfigBean>>
    @POST(Apis.captchaLogin)
    fun captchaLogin(
@@ -487,202 +52,48 @@
    @GET(Apis.studySchedule)
    fun studySchedule(@Query("week")week:Int,@Query("day")day:Int): Flowable<ResultData<Schedule>>
    @FormUrlEncoded
    @POST(Apis.queryBanner)
    fun queryBanner(@Field("position") type: Int): Flowable<ResultData<ArrayList<Banner>>>
    @GET(Apis.onlineDuration)
    fun onlineDuration(): Flowable<ResultData<String>>
    @FormUrlEncoded
    @POST(Apis.querySearchCourseList)
    fun querySearchCourseList(
        @Field("conditions") conditions: String?,
        @Field("current") current: Int,
        @Field("gradeId") gradeId: Int,
        @Field("subjectsId") subjectsId: String?,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<Course>>>
    @FormUrlEncoded
    @POST(Apis.recharge)
    fun recharge(
        @Field("amount") money: Double,
        @Field("payType") type: Int
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST
    fun voucherDetail(
        @Url url: String,
        @Field("yearMonth") yearMonth: String,
        @Field("pageNum") pageNum: Int,
        @Field("pageSize") pageSize: Int,
        @Field("recordId") type: Int?
    ): Flowable<ResultData<List<CoinRecord>>>
    @FormUrlEncoded
    @POST(Apis.userBilling)
    fun userBilling(
        @Field("yearMonth") yearMonth: String,
        @Field("recordId") type: Int?
    ): Flowable<ResultData<List<CoinRecord>>>
    @FormUrlEncoded
    @POST(Apis.queryCouponPackage)
    fun queryCouponPackage(
        @Field("couponType") couponType: Int?,
        @Field("useStatus") useStatus: Int?
    ): Flowable<ResultData<List<Coupon>>>
    @FormUrlEncoded
    @POST(Apis.integralMallList)
    fun integralMallList(
        @Field("goodsType") goodsType: Int?,
        @Field("rank") rank: Int?,
        @Field("pageNum") pageNum: Int,
        @Field("pageSize") pageSize: Int,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("search") search: String?,
        @Field("shopId") shopId: String?
    ): Flowable<ResultData<List<Goods>>>
    @FormUrlEncoded
    @POST(Apis.exchangeStoreIds)
    fun exchangeStoreIds(
        @Field("goodsType") goodsType: Int,
        @Field("pointsMerId") id: String
    ): Flowable<ResultData<List<Shop>>>
    @FormUrlEncoded
    @POST(Apis.exchangeRecords)
    fun exchangeRecords(
        @Field("goodsType") goodsType: Int?,
        @Field("useType") useType: Int?
    ): Flowable<ResultData<List<ExchangeRecord>>>
    @FormUrlEncoded
    @POST(Apis.redemptionDetails)
    fun redemptionDetails(
        @Field("detailsId") goodId: String
    ): Flowable<ResultData<ExchangeDetail>>
    @GET(Apis.giveIntegral)
    fun giveIntegral(): Flowable<ResultData<Boolean>>
    @POST(Apis.cancellation)
    fun cancellation(): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.productRedemptionOperation)
    fun productRedemptionOperation(
        @Field("goodsType") goodsType: Int,
        @Field("exchangeType") exchangeType: Int,
        @Field("goodId") goodId: String,
        @Field("nums") nums: Int,
        @Field("payType") payType: Int?,
        @Field("stuIds") stuIds: String?,
        @Field("storeId") storeId: String?
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.queryStoreFreeBenefit)
    fun queryStoreFreeBenefit(
        @Field("id") id: String
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST
    fun addStudent(
        @Url url: String,
        @Field("birthday") birthday: String,
        @Field("headImg") headImg: String,
        @Field("height") height: Double,
        @Field("weight") weight: Double,
        @Field("sex") sex: Int,
        @Field("name") name: String,
        @Field("phone") phone: String?,
        @Field("idCard") idCard: String?,
        @Field("stuId") stuId: String?,
        @Field("id") id: String?
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.addParticipant)
    fun addParticipant(
        @Field("headImg") avatar: String,
        @Field("birthday") birthday: String,
        @Field("height") height: Double,
        @Field("weight") weight: Double,
        @Field("gender") sex: Int,
        @Field("name") name: String,
        @Field("phone") phone: String?,
        @Field("idcard") idCard: String?
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.editParticipant)
    fun editParticipant(
        @Field("headImg") avatar: String,
        @Field("id") id: String,
        @Field("height") height: Int?,
        @Field("weight") weight: Double?,
        @Field("phone") phone: String?,
        @Field("birthday") birthday: String?,
        @Field("name") name: String?,
        @Field("gender") gender: Int?,
        @Field("idcard") idcard: String?
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.delParticipant)
    fun delParticipant(
        @Field("id") id: String,
        @Field("isStudent") isStudent: Int?
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.cancelMyCompetition)
    fun cancelMyCompetition(
        @Field("id") id: String
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.paymentCompetitionCourseList)
    fun paymentCompetitionCourseList(@Field("id") id: String): Flowable<ResultData<List<PayCourse>>>
    @POST(Apis.exitLearning)
    fun exitLearning(@Body body: String): Flowable<ResultData<Any>>
    @POST(Apis.completeLearning)
    fun completeLearning(@Body body: String): Flowable<ResultData<Any>>
    @GET(Apis.exitGameOrStory)
    fun exitGameOrStory(@Query("studyTime") studyTime: Int): Flowable<ResultData<Any>>
    @POST(Apis.completeStory)
    fun completeStory(@Body body: String): Flowable<ResultData<Any>>
    @POST(Apis.completeLearning)
    fun completeLearning(@Body body: String): Flowable<ResultData<Int?>>
    @GET(Apis.completeStory)
    fun completeStory(@Query("accuracy") accuracy: Int,
                      @Query("storyId") storyId: String,
                      @Query("type") type: Int,
                      @Query("studyTime") studyTime: Int): Flowable<ResultData<Int?>>
    @POST(Apis.gameAchievement)
    fun gameAchievement(@Body body: String): Flowable<ResultData<Any>>
    fun gameAchievement(@Body body: String): Flowable<ResultData<Int?>>
    @GET(Apis.userGameDifficulty)
    fun userGameDifficulty(@Query("week") week: Int): Flowable<ResultData<Int?>>
    @POST(Apis.restart)
    fun restart(@Body body : String): Flowable<ResultData<Any>>
    @POST(Apis.answerQuestion)
    fun answerQuestion(@Body body : String): Flowable<ResultData<Any>>
    @GET(Apis.getIsOpen)
    fun getIsOpen(): Flowable<ResultData<Boolean>>
    @GET(Apis.teamSchedule)
    fun teamSchedule(@Query("day") day:Int,@Query("type") type:Int,@Query("week") week:Int): Flowable<ResultData<ProgressBean>>
    @FormUrlEncoded
    @POST
    fun listOfStu(@Url url: String,@Field("isPre") isPre: Int?): Flowable<ResultData<List<Student>>>
    @FormUrlEncoded
    @POST(Apis.weekLimitedBenefit)
    fun weekLimitedBenefit(
        @Field("discountType") discountType: Int,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<ArrayList<Welfare>>>
    @FormUrlEncoded
    @POST(Apis.queryAvailableCouponList)
    fun queryAvailableCouponList(
        @Field("coursePackageId") coursePackageId: String,
        @Field("price") price: Double,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?
    ): Flowable<ResultData<ArrayList<Coupon>>>
    @GET(Apis.goodTypeStudy)
    fun goodTypeStudy(): Flowable<ResultData<ArrayList<GoodsType>>>
@@ -757,332 +168,14 @@
        @Body phoneRequest : String
    ): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.updateInfo)
    fun updateInfo(
        @Field("birthday") birthday: String?,
        @Field("gender") gender: Int?,
        @Field("name") name: String?
    ): Flowable<ResultData<Any>>
    @POST(Apis.goodListStudy)
    fun goodListStudy(
        @Body body:String
    ): Flowable<ResultData<GoodsList>>
    @GET(Apis.goodDetail)
    fun goodDetail(
        @Query("goodId") goodId: String): Flowable<ResultData<GoodsDetail>>
    @FormUrlEncoded
    @POST(Apis.queryIsTest)
    fun queryIsTest(
        @Field("gradeId") gradeId: Int,
        @Field("subjectsId") subjectsId: Int
    ): Flowable<ResultData<TestingResult>>
    @FormUrlEncoded
    @POST(Apis.queryTestQuestion)
    fun queryTestQuestion(
        @Field("gradeId") gradeId: Int,
        @Field("subjectsId") subjectsId: Int
    ): Flowable<ResultData<ArrayList<TestingQuestion>>>
    @FormUrlEncoded
    @POST(Apis.optSubmitTestPaper)
    fun optSubmitTestPaper(
        @Field("paperId") paperId: Int,
        @Field("time") time: Int,
        @Field("data") data: String
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.queryMeAppraisal)
    fun queryMeAppraisal(
        @Field("current") current: Int,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<TestingRecord>>>
    @FormUrlEncoded
    @POST(Apis.queryOrderList)
    fun queryOrderList(
        @Field("current") current: Int,
        @Field("type") type: Int,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<Order>>>
    @FormUrlEncoded
    @POST(Apis.queryApplyDetail)
    fun queryApplyDetail(
        @Field("courseStudentId") courseStudentId: Int
    ): Flowable<ResultData<Order>>
    @POST(Apis.queryIsBindAlipay)
    fun queryIsBindAlipay(): Flowable<ResultData<Boolean>>
    fun goodDetail(@Query("goodId") goodId: String): Flowable<ResultData<GoodsDetail>>
    @GET(Apis.exchangeRecord)
    fun exchangeRecord(): Flowable<ResultData<List<ExchangeRecord>>>
    @FormUrlEncoded
    @POST(Apis.queryCanRefund)
    fun queryCanRefund(
        @Field("courseStudentId") courseStudentId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optApplyRefund)
    fun optApplyRefund(
        @Field("courseStudentId") courseStudentId: Int,
        @Field("refundClassHours") refundClassHours: Int,
        @Field("refundMark") refundMark: String,
        @Field("refundMoney") refundMoney: Double
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optCancelApply)
    fun optCancelApply(
        @Field("applyId") applyId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optAddBind)
    fun optAddBind(
        @Field("openId") openId: String,
        @Field("unionid") unionid: String,
        @Field("otherName") otherName: String,
        @Field("type") type: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optAddQuestion)
    fun optAddQuestion(
        @Field("question") question: String,
        @Field("describe") describe: String,
        @Field("imgUrl") imgUrl: String,
        @Field("golds") golds: Int
    ): Flowable<ResultData<RewardQuestion>>
    @FormUrlEncoded
    @POST(Apis.queryQuestionSquareList)
    fun queryQuestionSquareList(
        @Field("current") current: Int,
        @Field("conditions") conditions: String?,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<RewardQuestion>>>
    @FormUrlEncoded
    @POST(Apis.queryQuestionAnswerList)
    fun queryQuestionAnswerList(
        @Field("current") current: Int,
        @Field("questionId") questionId: Int,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<RewardAnswer>>>
    @FormUrlEncoded
    @POST
    fun queryMeQuestionList(
        @Field("current") current: Int,
        @Url url: String,
        @Field("size") size: Int = Const.PAGE_SIZE
    ): Flowable<ResultData<ArrayList<RewardQuestion>>>
    @FormUrlEncoded
    @POST(Apis.optDeleteQuestion)
    fun optDeleteQuestion(
        @Field("questionId") questionId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optDeleteAnswer)
    fun optDeleteAnswer(
        @Field("answerId") answerId: Int,
        @Field("questionId") questionId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optAdoptAnswer)
    fun optAdoptAnswer(
        @Field("answerId") answerId: Int,
        @Field("questionId") questionId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.optAddAnswer)
    fun optAddAnswer(
        @Field("answer") answer: String,
        @Field("questionId") questionId: Int
    ): Flowable<ResultData<JsonObject>>
    @FormUrlEncoded
    @POST(Apis.queryGameList)
    fun queryGameList(
        @Field("siteId") siteId: Int,
        @Field("storeId") storeId: String
    ): Flowable<ResultData<List<GameBean>>>
    @Headers("notapp:true")
    @FormUrlEncoded
    @POST(Apis.gameRecord)
    fun gameRecord(
        @Field("uid") uid: String,
        @Field("page") page: Int,
        @Field("limit") limit: Int = 10,
        @Field("sign") storeId: String = "0DB011836143EEE2C2E072967C9F4E4B"
    ): Flowable<ResultData<List<GameRecordBean>>>
    @FormUrlEncoded
    @POST(Apis.payGame)
    fun payGame(
        @Field("configId") configId: Int,
        @Field("gameId") gameId: Int,
        @Field("spaceId") spaceId: Int,
        @Field("sutuId") sutuId: Int,
        @Field("type") type: Int,
        @Field("gameType") gameType: Int
    ): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.registeredData)
    fun registeredData(
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("coursePayId") coursePayId: String,
        @Field("orderId") orderId: String
    ): Flowable<ResultData<JoinedCourse>>
    @FormUrlEncoded
    @POST(Apis.indexOfEx)
    fun indexOfEx(
        @Field("latitude") lat: Double?,
        @Field("longitude") lon: Double?
    ): Flowable<ResultData<List<Shop>>>
    @FormUrlEncoded
    @POST(Apis.storeList)
    fun storeList(
        @Field("latitude") lat: Double?,
        @Field("longitude") lon: Double?,
        @Field("cityCode") cityCode: String?,
        @Field("space") space: Int?,
        @Field("search") search: String?
    ): Flowable<ResultData<List<ShopListBean>>>
    @POST(Apis.noticeList)
    fun noticeList(): Flowable<ResultData<List<Notice>>>
    @POST(Apis.exceptionList)
    fun exceptionList(): Flowable<ResultData<List<Notice>>>
    @POST(Apis.customerList)
    fun customerList(): Flowable<ResultData<List<String>>>
    @FormUrlEncoded
    @POST
    fun noticeDetail(
        @Url url: String,
        @Field("noId") noId: String,
        @Field("quesId") quesId: String
    ): Flowable<ResultData<Notice>>
    @FormUrlEncoded
    @POST(Apis.storeDetail)
    fun storeDetail(@Field("storeId") storeId: String): Flowable<ResultData<ShopDetail>>
    @FormUrlEncoded
    @POST(Apis.saveEvaluation)
    fun saveEvaluation(
        @Field("storeId") storeId: String,
        @Field("content") content: String?,
        @Field("imgs") imgs: String?,
        @Field("score") score: Double
    ): Flowable<ResultData<Any>>
    @Headers("notapp:true")
    @GET
    fun getGameList(@Url url: String): Flowable<ResponseBody>
    @POST(Apis.getHomeModule)
    fun getHomeModule(): Flowable<ResultData<Banner>>
    @POST(Apis.getCompletedWorldCupTips)
    fun getCompletedWorldCupTips(): Flowable<ResultData<Int>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupList)
    fun getWorldCupList(
        @Field("id") id: String,
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("gender") gender: Int?,
        @Field("sort") sort: Int?,
        @Field("storeId") storeId: Int?,
        @Field("content") search: String?
    ): Flowable<ResultData<List<WorldCupBean>>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupListCoach)
    fun getWorldCupListCoach(
        @Field("lat") lat: Double?,
        @Field("lon") lon: Double?,
        @Field("storeId") storeId: Int?,
        @Field("content") search: String?
    ): Flowable<ResultData<List<WorldCupBean>>>
    @POST(Apis.getWorldCupStore)
    fun getWorldCupStore(): Flowable<ResultData<List<CommonData>>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupInfo)
    fun getWorldCupInfo(@Field("id") id: String,
                        @Field("lat") lat: Double?,
                        @Field("lon") lon: Double?): Flowable<ResultData<WorldCupBean>>
    @FormUrlEncoded
    @POST(Apis.paymentWorldCup)
    fun paymentWorldCup(@Field("id") id: String,@Field("ids") ids: String,@Field("payType") payType: Int): Flowable<ResultData<PayInfo>>
    @FormUrlEncoded
    @POST(Apis.getEntrantRank)
    fun getEntrantRank(@Field("id") id: String,@Field("isStudent") isStudent: Int): Flowable<ResultData<Rank>>
    @FormUrlEncoded
    @POST(Apis.getMyWorldCupList)
    fun getMyWorldCupList(@Field("id") id: String,@Field("isStudent") isStudent: Int,
                          @Field("state") state: Int, @Field("pageNo") page: Int,
                          @Field("pageSize") limit: Int = 10): Flowable<ResultData<List<WorldCupBean>>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupMatchRecord)
    fun getWorldCupMatchRecord(@Field("id") id: String,@Field("isStudent") isStudent: Int, @Field("pageNo") page: Int,
                          @Field("pageSize") limit: Int = 20): Flowable<ResultData<WorldCupRecord>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupRank)
    fun getWorldCupRank(@Field("id") id: String,@Field("isStudent") isStudent: Int, @Field("radius") radius: Int,
                        @Field("sort") sort: Int,@Field("year") year: Int?): Flowable<ResultData<List<WorldRank>>>
    @POST(Apis.getParticipant)
    fun getParticipant(): Flowable<ResultData<List<Student>>>
    @FormUrlEncoded
    @POST(Apis.getMyWorldCupInfo)
    fun getMyWorldCupInfo(@Field("id") id: String,@Field("lat") lat: Double?,
                          @Field("lon") lon: Double?): Flowable<ResultData<WorldCupBean>>
    @FormUrlEncoded
    @POST(Apis.cancelMyWorldCup)
    fun cancelMyWorldCup(@Field("id") id: String): Flowable<ResultData<Any>>
    @FormUrlEncoded
    @POST(Apis.getWorldCupPeople)
    fun getWorldCupPeople(@Field("code") code: String,@Field("worldCupId") worldCupId: String): Flowable<ResultData<CodeResultUser>>
    @FormUrlEncoded
    @POST(Apis.getDeviceInformation)
    fun getDeviceInformation(@Field("code") code: String): Flowable<ResultData<DeviceBean>>
    @FormUrlEncoded
    @POST(Apis.startWorldCup)
    fun startWorldCup(@Field("code") code: String,@Field("people") people: String,@Field("worldCupId") worldCupId: String): Flowable<ResultData<Any>>
    fun exchangeRecord(@Query("pageNumber") page:Int,@Query("pageSize") pageSize: Int = 30): Flowable<ResultData<ExchangeRecordBean>>
}