HttpUtils.kt 4.42 KB
Newer Older
严久程 committed
1
package com.yidianling.ydl_pay.http
2 3

import com.google.gson.Gson
严久程 committed
4 5 6 7
import com.ydl.ydlcommon.data.http.BaseCommand
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.utils.NetworkParamsUtils
import com.ydl.ydlnet.YDLHttpUtils
严久程 committed
8
import com.yidianling.ydl_pay.actionpoint.ActionDataBean
严久程 committed
9 10 11 12 13
import com.yidianling.ydl_pay.bean.*
import com.yidianling.ydl_pay.bean.params.CheckRequestCouponBean
import com.yidianling.ydl_pay.bean.params.CreateOrderRequestBean
import com.yidianling.ydl_pay.bean.params.GetAllCouponRequestBean
import com.yidianling.ydl_pay.bean.params.OrderRequestBean
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
import io.reactivex.Observable
import okhttp3.MediaType
import okhttp3.RequestBody

/**
 * @author jiucheng
 * @描述:
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2019/4/17
 */
class HttpUtils {
    companion object {
        /**
         * 获取下单的信息
         */
        fun getOrderInfo(bean: OrderRequestBean): Observable<BaseResponse<OrderInfoBean>> {
            var str = Gson().toJson(bean)
严久程 committed
32 33 34 35
            val body = RequestBody.create(
                MediaType.parse("application/json; charset=utf-8"),
                str
            ) as RequestBody
严久程 committed
36
            return YDLHttpUtils.obtainApi(PayServices::class.java).getOrderInfo(body)
37 38 39 40 41 42 43
        }

        /**
         * 验证课程兑换券是否可用
         */
        fun checkCourseCoupon(bean: CheckRequestCouponBean): Observable<BaseResponse<CouponCodeInfoBean>> {
            var str = Gson().toJson(bean)
严久程 committed
44 45 46 47
            val body = RequestBody.create(
                MediaType.parse("application/json; charset=utf-8"),
                str
            ) as RequestBody
严久程 committed
48
            return YDLHttpUtils.obtainApi(PayServices::class.java).checkCourseCoupon(body)
49 50 51 52 53 54 55 56
        }


        /**
         * 下单时候选择优惠券
         */
        fun selectCoupon(bean: GetAllCouponRequestBean): Observable<BaseResponse<AllCouponListBean>> {
            var str = Gson().toJson(bean)
严久程 committed
57 58 59 60
            val body = RequestBody.create(
                MediaType.parse("application/json; charset=utf-8"),
                str
            ) as RequestBody
严久程 committed
61
            return YDLHttpUtils.obtainApi(PayServices::class.java).selectCoupon(body)
62 63 64 65 66 67 68 69
        }


        /**
         * 创建订单
         */
        fun createOrder(bean: CreateOrderRequestBean): Observable<BaseResponse<PayOrderBean>> {
            var str = Gson().toJson(bean)
严久程 committed
70 71 72 73
            val body = RequestBody.create(
                MediaType.parse("application/json; charset=utf-8"),
                str
            ) as RequestBody
严久程 committed
74
            return YDLHttpUtils.obtainApi(PayServices::class.java).createOrder(body)
75 76 77 78 79 80 81
        }


        /**
         * 支付宝在线支付
         */
        fun getAliPayOrderId(bean: BaseCommand): Observable<BaseResponse<CommonPayRecharge>> {
严久程 committed
82
            var params = NetworkParamsUtils.getPostList(bean)
严久程 committed
83
            var map = NetworkParamsUtils.getMaps(params)
严久程 committed
84
            return YDLHttpUtils.obtainApi(PayServices::class.java).getAliPayOrderId(map)
85 86 87 88 89 90
        }

        /**
         * 微信在线支付
         */
        fun wxPay(bean: BaseCommand): Observable<BaseResponse<CommonWXPayBean>> {
严久程 committed
91
            var params = NetworkParamsUtils.getPostList(bean)
严久程 committed
92 93
            var map = NetworkParamsUtils.getMaps(params)
            return YDLHttpUtils.obtainApi(PayServices::class.java).wxPay(map)
94 95 96
        }


严久程 committed
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
        /**
         * 余额的接口
         */
        fun getMyBalance(bean: BaseCommand): Observable<BaseResponse<BalanceBean>> {
            var params = NetworkParamsUtils.getPostList(bean)
            var map = NetworkParamsUtils.getMaps(params)
            return YDLHttpUtils.obtainApi(PayServices::class.java).getMyBalance(map)
        }

        /**
         * 余额支付
         */
        fun payByCharge(bean: BaseCommand): Observable<BaseResponse<Any>> {
            var params = NetworkParamsUtils.getPostList(bean)
            var map = NetworkParamsUtils.getMaps(params)
            return YDLHttpUtils.obtainApi(PayServices::class.java).pay(map)
        }


116 117 118 119
        /**
         * 行为数据埋点统计接口
         */
        internal fun actionDataCount(actionDataParams: ActionDataBean): Observable<BaseResponse<String>> {
严久程 committed
120 121 122 123
            val body = RequestBody.create(
                MediaType.parse("application/json; charset=utf-8"),
                Gson().toJson(actionDataParams)
            )
严久程 committed
124
            return YDLHttpUtils.obtainApi(PayServices::class.java).actionDataCount(body)
125 126 127
        }
    }
}