package com.igo.user.network
|
|
import cn.sinata.xldutils.data.ResultData
|
import com.google.gson.JsonObject
|
import com.igo.user.data.HomeDatas
|
import com.igo.user.network.entity.Anchor
|
import com.igo.user.network.entity.AutoCompleteBean
|
import com.igo.user.network.entity.CarPrice
|
import com.igo.user.network.entity.City
|
import com.igo.user.network.entity.Coupon
|
import com.igo.user.network.entity.DriverInfo
|
import com.igo.user.network.entity.EmailBean
|
import com.igo.user.network.entity.Evaluation
|
import com.igo.user.network.entity.Function
|
import com.igo.user.network.entity.GPoiBean
|
import com.igo.user.network.entity.GeoBean
|
import com.igo.user.network.entity.Goods
|
import com.igo.user.network.entity.GoogleToken
|
import com.igo.user.network.entity.InviteHis
|
import com.igo.user.network.entity.InvokeHis
|
import com.igo.user.network.entity.Line
|
import com.igo.user.network.entity.LogisticProgress
|
import com.igo.user.network.entity.Message
|
import com.igo.user.network.entity.MyBankCard
|
import com.igo.user.network.entity.OpenCity
|
import com.igo.user.network.entity.Order
|
import com.igo.user.network.entity.Phone
|
import com.igo.user.network.entity.PlaceDetailBean
|
import com.igo.user.network.entity.Point
|
import com.igo.user.network.entity.RealName
|
import com.igo.user.network.entity.RouteBean
|
import com.igo.user.network.entity.SearchBean
|
import com.igo.user.network.entity.SeatInfo
|
import com.igo.user.network.entity.ServiceRecord
|
import com.igo.user.network.entity.Shift
|
import com.igo.user.network.entity.TrippingInfo
|
import com.igo.user.network.entity.UserInfo
|
import com.igo.user.network.entity.VersionData
|
import com.igo.user.network.entity.WalletRecord
|
import com.igo.user.network.entity.WalletRecordBean
|
import com.igo.user.utils.Const
|
import io.reactivex.Flowable
|
import okhttp3.MultipartBody
|
import retrofit2.http.Field
|
import retrofit2.http.FieldMap
|
import retrofit2.http.FormUrlEncoded
|
import retrofit2.http.Header
|
import retrofit2.http.Multipart
|
import retrofit2.http.POST
|
import retrofit2.http.Part
|
import retrofit2.http.Query
|
import retrofit2.http.Url
|
|
interface ApiService {
|
@FormUrlEncoded
|
@POST(Apis.H5_URL)
|
fun getH5(@Field("type") type: Int): Flowable<ResultData<JsonObject>>
|
|
@Multipart
|
@POST(Apis.upImage)
|
fun uploadFile(@Part filePart: MultipartBody.Part): Flowable<ResultData<String>>
|
|
@FormUrlEncoded
|
@POST(Apis.getPhone)
|
fun getPhone(@Field("lat") lat: Double,@Field("lnt") lnt: Double): Flowable<ResultData<ArrayList<Phone>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryPhones)
|
fun queryPhones(@Field("lat") lat: String,@Field("lnt") lnt: String): Flowable<ResultData<ArrayList<Phone>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryNotices)
|
fun queryNotices(@Field("type") type: Int): Flowable<ResultData<ArrayList<Message>>>
|
|
@FormUrlEncoded
|
@POST(Apis.msgNotice)
|
fun msgNotice(@Field("pageNum") pageNum: Int,@Field("size") size:Int,@Field("type") type:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Message>>>
|
|
@FormUrlEncoded
|
@POST(Apis.getAds)
|
fun getAds(@Field("type") type: Int,@Field("lat") lat: String,@Field("lnt") lnt: String): Flowable<ResultData<ArrayList<Message>>>
|
|
@FormUrlEncoded
|
@POST(Apis.GET_CODE)
|
fun getCode(@Field("phone") phone: String,@Field("kaptcha") kaptcha: String,@Field("type") type: Int,@Field("token") token: String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.sedEmail)
|
fun sedEmail(@Field("email") email: String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.bindingEmail)
|
fun bindingEmail(@Field("email") email: String,@Field("code") code: String,@Field("type") type:Int): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.codeLogin)
|
fun codeLogin(@Field("phoneOperator") phoneOperator: String,@Field("phone") phone: String,@Field("code") code: String, @Field("registIp") registIp: String?): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.pwdLogin)
|
fun pwdLogin(@Field("phone") phone: String,@Field("password") password: String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.wxLogin)
|
fun wxLogin(@Field("openid") openid: String?,@Field("unionid") unionid: String?, @Field("avatar") avatar: String?,@Field("nickName")nickName: String?,@Field("sex")sex: Int?,
|
@Field("type") type: Int = 1): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.facebookLogin)
|
fun facebookLogin(@Field("id") openid: String,@Field("name") name: String?, @Field("avatar") avatar: String?): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.twitterLogin)
|
fun twitterLogin(@Field("id") id: String,@Field("name") name: String?, @Field("email") email: String?): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.oneClickLogin)
|
fun oneClickLogin(@Field("accessToken") accessToken: String,@Field("androidOrIos") androidOrIos: String = "android"): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.forgetPassword)
|
fun forgetPassword(@Field("code") code: String,@Field("password") password: String,
|
@Field("phone") phone: String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.getDriverNum)
|
fun getDriverNum(@Field("lat") lat: Double,@Field("lon") lon:Double,@Field("type") type:Int): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryServerCarModel)
|
fun queryServerCarModel(@Field("startLonLat")startLonLat:String,@Field("endLonLat")endLonLat:String,
|
@Field("type") type:Int): Flowable<ResultData<ArrayList<CarPrice>>>
|
|
@FormUrlEncoded
|
@POST(Apis.isOpenCity)
|
fun isOpenCity(@Field("lat") lat: String,@Field("lnt") lnt: String): Flowable<ResultData<JsonObject>>
|
|
@POST(Apis.isEnterEmergencyContact)
|
fun isEnterEmergencyContact(): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryBusiness)
|
fun queryBusiness(@Field("lat") lat: String,@Field("lnt") lnt: String): Flowable<ResultData<ArrayList<Function>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryBusinessById)
|
fun queryBusinessById(@Field("id") id: Int): Flowable<ResultData<ArrayList<Function>>>
|
|
@POST(Apis.queryOpenCity)
|
fun queryOpenCity(): Flowable<ResultData<ArrayList<OpenCity>>>
|
|
@FormUrlEncoded
|
@POST
|
fun getBaseResponse(@Url url:String,@FieldMap params:MutableMap<String, Any>): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST
|
fun getIntResponse(@Url url:String,@FieldMap params:MutableMap<String, Any>): Flowable<ResultData<Int>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryRegions)
|
fun queryRegions(@Field("pid") id: Int): Flowable<ResultData<ArrayList<City>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryPayMoney)
|
fun queryPayMoney(@Field("startLonLat") startLonLat: String,@Field("endLonLat") endLonLat: String, @Field("type") type : Int): Flowable<ResultData<ArrayList<CarPrice>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryLogisticsUnitPrice)
|
fun queryLogisticsUnitPrice(@Field("endAddress") endAddress: String,@Field("startLonLat") startLonLat: String,
|
@Field("type") type : Int,@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.myOrderList)
|
fun myOrderList(@Field("pageNum") pageNum: Int,@Field("size") size:Int,@Field("type") type:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Order>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryOrderInfo)
|
fun queryOrderInfo(@Field("orderId") orderId: Int,@Field("orderType") orderType:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<Order>>
|
|
@FormUrlEncoded
|
@POST(Apis.trippingInfo)
|
fun trippingInfo(@Field("orderId") orderId: Int,@Field("orderType") orderType:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<TrippingInfo>>
|
|
@FormUrlEncoded
|
@POST(Apis.payTaxiOrder)
|
fun payTaxiOrder(@Field("orderId") orderId: Int,@Field("payType") payType:Int, @Field("type") type:Int,@Field("orderType") orderType:Int,
|
@Field("couponId") couponId:Int?,@Field("redDeduction") redDeduction:Int?, @Field("bankCardId") bankCardId:String?, @Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<Any>>
|
|
@FormUrlEncoded
|
@POST(Apis.payOrderLogisticsSpread)
|
fun payOrderLogisticsSpread(@Field("orderId") orderId: Int,@Field("payType") payType:Int, @Field("type") type:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<String>>
|
|
@FormUrlEncoded
|
@POST(Apis.cancleOrderTaxi)
|
fun cancleOrderTaxi(@Field("id") orderId: Int,@Field("payType") payType:Int, @Field("type") type:Int,@Field("orderType") orderType:Int,
|
@Field("cancleId") cancleId:Int, @Field("bankCardId") bankCardId:String?, @Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<String>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryServingOrder)
|
fun queryTripping(@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Order>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryCoupon)
|
fun queryCoupon(@Field("orderId") orderId:Int,@Field("orderType") orderType:Int,@Field("pageNum") pageNum:Int,
|
@Field("size") size:Int, @Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Coupon>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryEndPush)
|
fun queryEndPush(@Field("orderId") orderId: Int,@Field("orderType") orderType:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<Order>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryDriverInfo)
|
fun queryDriverInfo(@Field("id") id: Int,@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<DriverInfo>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryDriverEvaluate)
|
fun queryDriverEvaluate(@Field("id") id: Int,@Field("pageNum") pageNum: Int,@Field("size") size: Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Evaluation>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryUserInfo)
|
fun queryUserInfo(@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<UserInfo>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryUser)
|
fun queryUser(@Field("phone") phone:String,@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<UserInfo>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryTrack)
|
fun queryTrack(@Field("orderId") orderId: Int,@Field("orderType") orderType:Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Point>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryMyCoupons)
|
fun queryMyCoupons(@Field("pageNum") pageNum: Int,@Field("size") size:Int,@Field("state") state :Int,
|
@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<ArrayList<Coupon>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryRealName)
|
fun queryRealName(@Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<RealName>>
|
|
@FormUrlEncoded
|
@POST
|
fun walletRecord(@Url url: String,@Field("pageNum") pageNum: Int, @Field("size") size:Int, @Field("state") state:Int?, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<WalletRecord>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryInvoiceOrder)
|
fun queryInvoiceOrder(@Field("pageNum") pageNum: Int, @Field("size") size:Int = Const.PAGE_SIZE,
|
@Field("orderType") orderType:Int,@Field("type") type:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<Order>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryMyRedEnvelope)
|
fun queryRedEnvelope(@Field("pageNum") pageNum: Int, @Field("size") size:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<WalletRecord>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryMyInvoice)
|
fun queryMyInvoice(@Field("pageNum") pageNum: Int, @Field("size") size:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<InvokeHis>>>
|
|
@FormUrlEncoded
|
@POST(Apis.getInviteList)
|
fun getInviteList(@Field("pageNum") pageNum: Int, @Field("size") size:Int,@Field("type") type:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<InviteHis>>>
|
|
|
@FormUrlEncoded
|
@POST(Apis.queryProblems)
|
fun queryProblems(@Field("pageNum") pageNum: Int, @Field("size") size:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<ServiceRecord>>>
|
|
@POST(Apis.queryNewData)
|
fun queryNewData(): Flowable<ResultData<VersionData>>
|
|
@POST(Apis.getNewTripId)
|
fun getNewTripId(): Flowable<ResultData<String>>
|
|
@POST(Apis.getBindCardList)
|
fun getBindCardList(): Flowable<ResultData<List<MyBankCard>>>
|
|
@POST(Apis.getEmailList)
|
fun getEmailList(): Flowable<ResultData<List<EmailBean>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryRechargeRecord)
|
fun queryRechargeRecord(@Field("pageNum") pageNum: Int, @Field("size") size:Int): Flowable<ResultData<WalletRecordBean>>
|
|
@FormUrlEncoded
|
@POST(Apis.delBankCard)
|
fun deleteBindCard(@Field("id") id:String): Flowable<ResultData<Any>>
|
|
@FormUrlEncoded
|
@POST(Apis.addBankCard)
|
fun addBankCard(@Field("bank") bank:String,@Field("code") code:String,@Field("firstName") firstName:String,@Field("lastName") lastName:String): Flowable<ResultData<Any>>
|
|
@FormUrlEncoded
|
@POST(Apis.depositBalance)
|
fun depositBalance(@Field("money") money: Double, @Field("payType") payType:Int, @Field("bankCardId") bankCardId:String?, @Field("type") type:Int,
|
@Field("sign") sign:String, @Field("appid") appid:String): Flowable<ResultData<String>>
|
|
@FormUrlEncoded
|
@POST(Apis.querySite)
|
fun querySite(@Field("startSiteId") startSiteId: Int?): Flowable<ResultData<ArrayList<City>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryLines)
|
fun queryLines(@Field("startId") startId: Int,@Field("endId") endId:Int): Flowable<ResultData<ArrayList<Line>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryDriver)
|
fun queryDriver(@Field("day") day:String,@Field("lineId") lineId:Int,@Field("driverId") driverId:Int?): Flowable<ResultData<ArrayList<Shift>>>
|
|
@FormUrlEncoded
|
@POST(Apis.querySeat)
|
fun querySeat(@Field("id") id:Int): Flowable<ResultData<SeatInfo>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryLocation)
|
fun queryLocation(@Field("siteId") id:Int): Flowable<ResultData<ArrayList<Anchor>>>
|
|
@POST(Apis.queryServerCarModels)
|
fun queryServerCarModels(): Flowable<ResultData<ArrayList<CarPrice>>>
|
|
@FormUrlEncoded
|
@POST(Apis.areaMonitoring)
|
fun areaMonitoring(@Field("siteId") id:Int,@Field("code") code:String,
|
@Field("lonLat") lonLat:String): Flowable<ResultData<Int>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryOrderMoney)
|
fun queryOrderMoney(@Field("lineId") lineId:Int,@Field("startLonLat") startLonLat:String,@Field("endLonLat") endLonLat:String,
|
@Field("peopleNumber") peopleNumber:Int, @Field("seatNumber") seatNumber:String,@Field("travelMode") travelMode:Int,
|
@Field("serverCarModelId") serverCarModelId:Int,@Field("totalSeat") totalSeat:Int): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.orderCrossCity)
|
fun orderCrossCity(@Field("carId") carId:Int,@Field("lineId") lineId:Int,@Field("lineShiftDriverId") lineShiftDriverId:Int,
|
@Field("driverId") driverId:Int,@Field("distance") distance:Double, @Field("orderSource") orderSource:Int,
|
@Field("startLat") startLat:Double, @Field("startLon") startLon:Double, @Field("endLat") endLat:Double,
|
@Field("endLon") endLon:Double,@Field("travelTime") travelTime:String, @Field("placementLat") placementLat:Double,
|
@Field("placementLon") placementLon:Double, @Field("startAddress") startAddress:String,
|
@Field("endAddress") endAddress:String,@Field("placementAddress") placementAddress:String,
|
@Field("remark") remark:String?, @Field("peopleNumber") peopleNumber:Int, @Field("seatNumber") seatNumber:String,
|
@Field("travelMode") travelMode:Int, @Field("serverCarModelId") serverCarModelId:Int,@Field("totalSeat") totalSeat:Int,
|
@Field("sign") sign:String, @Field("appid") appid:String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.orderCharteredCar)
|
fun orderCharteredCar(@Field("carTime") carTime:Int,@Field("travelTime") travelTime:String, @Field("placeLonLat") placeLonLat:String,
|
@Field("contactPerson") contactPerson:String, @Field("contactPhone") contactPhone:String,
|
@Field("modelUse") modelUse:String, @Field("peopleNumber") peopleNumber:Int, @Field("serverCarModelId") serverCarModelId:Int,
|
@Field("sign") sign:String, @Field("appid") appid:String): Flowable<ResultData<JsonObject>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryGoods)
|
fun queryGoods(@Field("pageNum") pageNum:Int, @Field("size") size:Int, @Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<ArrayList<Goods>>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryTimeInfo)
|
fun queryTimeInfo(@Field("orderId") orderId:Int, @Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<LogisticProgress>>
|
|
@FormUrlEncoded
|
@POST(Apis.confirmDifferencePrice)
|
fun confirmDifferencePrice(@Field("orderId") orderId:Int,@Field("status") status:Int,@Field("difference") difference:Double, @Field("sign") sign:String,@Field("appid") appid:String): Flowable<ResultData<Any>>
|
|
@FormUrlEncoded
|
@POST(Apis.queryGoodsInfo)
|
fun queryGoodsInfo(@Field("id") pageNum:Int,@Field("sign") sign:String,
|
@Field("appid") appid:String): Flowable<ResultData<Goods>>
|
|
@POST(Apis.getPoi)
|
fun getPoi(@Query("location")location:String,@Query("radius")radius:Int = 2000,@Query("key")key:String = Const.google_key,
|
@Query("language")language:String): Flowable<GPoiBean>
|
|
@POST(Apis.geoCode)
|
fun geoCode(@Header("X-Goog-Maps-Experience-ID") tripId:String,@Query("latlng")location:String,@Query("language")language:String,@Query("key")key:String = Const.google_key,
|
@Query("appid")appid:String = "c780a308a35740bfb946e10452ba62e0"): Flowable<GeoBean>
|
|
@POST(Apis.textsearch)
|
fun textsearch(@Header("X-Goog-Maps-Experience-ID") tripId:String,@Query("query")query:String,@Query("location")location:String?,
|
@Query("language")language:String,@Query("radius")radius:Int = 25000,@Query("key")key:String = Const.google_key): Flowable<SearchBean>
|
|
@POST(Apis.autocomplete)
|
fun autocomplete(@Header("X-Goog-Maps-Experience-ID") tripId:String,@Query("input")query:String, @Query("language")language:String,@Query("components")region:String="country:gh",
|
@Query("key")key:String = Const.google_key): Flowable<AutoCompleteBean>
|
|
@POST(Apis.placeDetails)
|
fun placeDetails(@Header("X-Goog-Maps-Experience-ID") tripId:String,@Query("place_id")place_id:String, @Query("fields")region:String="name,geometry",
|
@Query("key")key:String = Const.google_key): Flowable<PlaceDetailBean>
|
|
@POST(Apis.directions)
|
fun directions(@Header("X-Goog-Maps-Experience-ID") tripId:String,@Query("origin")origin:String,@Query("destination")destination:String,@Query("language")language:String,@Query("mode")mode:String = "driving",
|
@Query("key")key:String = Const.google_key): Flowable<RouteBean>
|
|
@POST(Apis.getFleetEngineAuth)
|
fun getFleetEngineAuth(@Query("tripId")origin:String): Flowable<ResultData<GoogleToken>>
|
|
|
|
@POST(Apis.getOrderDrivingData)
|
fun getOrderDrivingData(@Query("orderId")orderId :Int,@Query("orderType")orderType :Int): Flowable<ResultData<Any>>
|
|
@POST(Apis.queryHomeEntrance)
|
fun queryHomeEntrance(): Flowable<ResultData<HomeDatas>>
|
}
|