ConfideHomeHttpImpl.kt 2.97 KB
Newer Older
洪国微 committed
1 2
package com.ydl.confide.home.http

洪国微 committed
3
import com.ydl.confide.home.bean.ConfideConnectResponse
洪国微 committed
4
import com.ydl.confide.home.bean.ConfideHomeDataBean
洪国微 committed
5
import com.ydl.confide.home.bean.ConnectParamJava
洪国微 committed
6 7 8 9 10 11 12 13 14 15 16 17 18
import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlnet.YDLHttpUtils
import io.reactivex.Observable

/**
 * @author yuanwai
 * @描述:倾诉首页接口实现类
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2018/7/26
 */
刘鹏 committed
19
class ConfideHomeHttpImpl private constructor() : IConfideHomeHttp {
洪国微 committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

    companion object {
        fun getInstance(): ConfideHomeHttpImpl {
            return Holder.INSTANCE
        }
    }

    object Holder {
        val INSTANCE = ConfideHomeHttpImpl()
    }

    private val confideHomeApi: ConfideHomeApi by lazy {
        YDLHttpUtils.obtainApi(ConfideHomeApi::class.java)
    }

    override fun confideHomeRequest(): Observable<BaseAPIResponse<MutableList<ConfideHomeDataBean>>> {
        return RxUtils.mapObservable(ConfideHomeParam(0))
刘鹏 committed
37
            .flatMap {
万齐军 committed
38
                confideHomeApi.confideHome(HttpConfig.JAVA_BASE_URL + "auth/listen/nhome?listenVersion=2.0", 2)
刘鹏 committed
39
            }
洪国微 committed
40 41
    }

刘鹏 committed
42
    override fun recommendList(param: ConfideRecommendParam): Observable<BaseAPIResponse<ConfideHomeDataBean>> {
洪国微 committed
43

44 45 46
        val inUid = StringBuffer()
        for (i in param.notInUid.indices) {
            inUid.append(param.notInUid[i])
刘鹏 committed
47
            if (i < param.notInUid.size - 1) {
48
                inUid.append(",")
洪国微 committed
49 50 51 52 53
            }
        }

        val sb = StringBuffer()
        sb.append("page").append("=").append(param.page).append("&")
54
            .append("keywords").append("=").append(param.getKeywords()).append("&")
刘鹏 committed
55 56 57 58 59
            .append("sortType").append("=").append(param.getSortType()).append("&")
            .append("sexType").append("=").append(param.getSexType()).append("&")
            .append("ageType").append("=").append(param.getAgeType()).append("&")
            .append("goodType").append("=").append(param.getGoodType()).append("&")
            .append("notInUid").append("=").append(inUid.toString()).append("&")
洪国微 committed
60 61
        val confideParam = sb.toString()
        return RxUtils.mapObservable(param)
刘鹏 committed
62 63 64
            .flatMap {
                confideHomeApi.recommedChange(HttpConfig.JAVA_BASE_URL + "auth/listen/nsearch?" + confideParam)
            }
洪国微 committed
65
    }
洪国微 committed
66 67 68

    override fun connectionJava(connectParam: ConnectParamJava): Observable<BaseAPIResponse<ConfideConnectResponse>> {
        return RxUtils.mapObservable(connectParam)
刘鹏 committed
69 70 71
            .flatMap { it ->
                YDLHttpUtils.obtainApi(ConfideHomeApi::class.java).connectJava(it)
            }
洪国微 committed
72
    }
刘鹏 committed
73 74 75 76 77 78 79

    override fun submitOrderAndPay(connectParam: ConnectParamJava): Observable<BaseAPIResponse<ConfideConnectResponse>> {
        return RxUtils.mapObservable(connectParam)
            .flatMap { it ->
                YDLHttpUtils.obtainApi(ConfideHomeApi::class.java).submitOrderAndPay(it)
            }
    }
洪国微 committed
80
}