package com.adealink.weparty.order.datasource.remote

import com.adealink.frame.base.Rlt
import com.adealink.frame.network.data.Res
import com.adealink.weparty.order.data.CancelOrderReq
import com.adealink.weparty.order.data.CompleteOrderReq
import com.adealink.weparty.order.data.EvaluateOrderReq
import com.adealink.weparty.order.data.PlaymateOrderListReq
import com.adealink.weparty.order.data.PlaymateOrderListRes
import com.adealink.weparty.order.data.RefundApplyReq
import com.adealink.weparty.order.data.UserOrderListReq
import com.adealink.weparty.order.data.UserOrderListRes
import retrofit2.http.Body
import retrofit2.http.Core
import retrofit2.http.POST

interface OrderHttpService {

    @Core
    @POST("playmate/order/list")
    suspend fun pullPlaymateOrderList(@Body req: PlaymateOrderListReq): Rlt<Res<PlaymateOrderListRes>>

    @Core
    @POST("skill/order/list")
    suspend fun pullUserOrderList(@Body req: UserOrderListReq): Rlt<Res<UserOrderListRes>>

    /**
     * 用户完成订单
     */
    @Core
    @POST("skill/order/finish")
    suspend fun userCompleteOrder(@Body req: CompleteOrderReq): Rlt<Res<Any>>


    /**
     * 用户取消订单
     */
    @Core
    @POST("skill/order/canecl")
    suspend fun userCancelOrder(@Body req: CancelOrderReq): Rlt<Res<Any>>


    /**
     * 用户申请退款
     */
    @Core
    @POST("skill/order/refund/apply")
    suspend fun userRefundApply(@Body req: RefundApplyReq): Rlt<Res<Any>>

    /**
     * 用户评分
     */
    @Core
    @POST("skill/order/star")
    suspend fun userEvaluate(@Body req: EvaluateOrderReq): Rlt<Res<Any>>


}