package com.yidianling.consultant.http import com.ydl.ydlcommon.base.config.HttpConfig import com.ydl.ydlcommon.data.http.BaseAPIResponse import com.ydl.ydlnet.YDLHttpUtils import com.yidianling.consultant.model.SearchApi import com.yidianling.consultant.model.bean.ExpertBannerBean import com.yidianling.consultant.model.bean.ExpertSearchBean import io.reactivex.Observable /** * @author yuanWai * @描述: * @Copyright Copyright (c) 2018 * @Company 壹点灵 * @date 2018/12/11 */ class ExpertSearchHttpImpl : IExpertSearchHttp { override fun getFilterCount(params: String?): Observable<BaseAPIResponse<Int>> { return getSearchApi().getFilterCount(HttpConfig.JAVA_BASE_URL+ "doctor/count?"+params) } companion object { fun getInstance(): ExpertSearchHttpImpl { return Holder.INSTANCE } fun clearSearchApi() { Holder.INSTANCE.searchApi = null } } object Holder { val INSTANCE = ExpertSearchHttpImpl() } private var searchApi: SearchApi? = null private fun getSearchApi(): SearchApi { if (searchApi == null) { searchApi = YDLHttpUtils.obtainApi(SearchApi::class.java) } return searchApi!! } override fun searchDoctor(params: String?): Observable<BaseAPIResponse<ExpertSearchBean>> { return getSearchApi().searchDoctorService(HttpConfig.JAVA_BASE_URL+ "doctor/list?"+params) } override fun getBannerList(): Observable<BaseAPIResponse<MutableList<ExpertBannerBean>>> { return getSearchApi().expertBannerList() } }