Commit eda3b7ba authored by yinjiacheng's avatar yinjiacheng

add 订单组件订单详情、申请退款接口封装

parent 9332f040
package com.yidian.shenghuoquan.border.http
import com.yidian.bcommon.http.HttpResult
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.Headers
import retrofit2.http.POST
import retrofit2.http.QueryMap
/**
* author: yinjiacheng
* date: 2021/8/23 11:02
* description: 订单组件API定义
*/
interface OrderApiService {
private companion object {
const val getOrderDetail = "/order/order/order_info"
const val applyRefund = "/order/order/refund_apply"
}
/**
* 2003 获取订单详情
*/
@POST(getOrderDetail)
@Headers("Content-Type: application/json")
fun getOrderDetail(
@QueryMap commonParams: Map<String, String>,
@QueryMap requestParams: Map<String, String?>
): Observable<HttpResult<Any?>>
/**
* 2006 申请退款
*/
@POST(applyRefund)
@Headers("Content-Type: application/json")
fun applyRefund(
@QueryMap commonParams: Map<String, String>,
@QueryMap requestParams: Map<String, String?>
): Observable<HttpResult<Any?>>
}
package com.yidian.shenghuoquan.border.http
import com.yidian.bcommon.http.HttpParamsUtils
import com.yidian.bcommon.http.HttpResult
import com.yidian.bcommon.http.HttpResultSubscriber
import com.yidian.bcommon.http.TransformUtil
import com.yidian.http.ServiceFactory
import com.yidian.shenghuoquan.border.dto.OrderDetailDto
import com.yidian.shenghuoquan.border.http.callback.IApplyRefundCallback
import com.yidian.shenghuoquan.border.http.callback.IGetOrderDetailCallback
/**
* author: yinjiacheng
* date: 2021/8/23 11:02
* description: 订单组件数据源
*/
object OrderRemoteDataSource {
private val api = ServiceFactory.getInstance().createService(OrderApiService::class.java)
/**
* 获取订单详情
*/
fun getOrderDetail(apiCallback: IGetOrderDetailCallback, requestParams: HashMap<String, String?>) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
api.getOrderDetail(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<OrderDetailDto>() {
override fun onSuccess(result: HttpResult<OrderDetailDto>?) {
apiCallback.getOrderDetailSuccess(result?.result)
}
override fun onFailure(result: HttpResult<OrderDetailDto>?) {
apiCallback.getOrderDetailFailure(result?.reason)
}
})
}
/**
* 申请退款
*/
fun applyRefund(apiCallback: IApplyRefundCallback, requestParams: HashMap<String, String?>) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
api.applyRefund(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any>() {
override fun onSuccess(result: HttpResult<Any>?) {
apiCallback.applyRefundSuccess()
}
override fun onFailure(result: HttpResult<Any>?) {
apiCallback.applyRefundFailure(result?.reason)
}
})
}
}
package com.yidian.shenghuoquan.border.http.callback
/**
* author: yinjiacheng
* date: 2021/8/23 11:09
* description: API /order/order/refund_apply
*/
interface IApplyRefundCallback {
fun applyRefundSuccess()
fun applyRefundFailure(message: String?)
}
package com.yidian.shenghuoquan.border.http.callback
import com.yidian.shenghuoquan.border.dto.OrderDetailDto
/**
* author: yinjiacheng
* date: 2021/8/23 11:02
* description: API /order/order/order_info
*/
interface IGetOrderDetailCallback {
fun getOrderDetailSuccess(result: OrderDetailDto?)
fun getOrderDetailFailure(message: String?)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment