SearchApi.kt 3.46 KB
Newer Older
1 2 3 4 5 6 7 8
package com.yidianling.consultant.model


import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlnet.YDLHttpUtils
9
import com.yidianling.consultant.bean.ExpertSearchTopShowBean
严久程 committed
10
import com.yidianling.consultant.bean.GuideBean
11
import com.yidianling.consultant.bean.HotSearchBean
upwork.021 committed
12
import com.yidianling.consultant.bean.SearchWordsBean
upwork.021 committed
13
import com.yidianling.consultant.model.bean.ExpertBean
14 15 16 17 18 19 20 21 22 23 24 25 26 27
import com.yidianling.consultant.model.bean.HeadData
import io.reactivex.Observable
import retrofit2.http.*


/**
 * Created by zqk on 17-10-26.
 */
interface SearchApi {

    companion object {

        var instance: SearchApi? = null

严久程 committed
28
        fun getSearchApi(): SearchApi {
29 30 31 32 33 34 35 36 37 38 39 40 41
            if (instance == null) {
                instance = YDLHttpUtils.obtainApi(SearchApi::class.java)
            }
            return instance!!
        }
    }

    //服务列表头部
    @POST("product/list-head")
    @FormUrlEncoded
    fun listHead(@FieldMap maps: Map<String, String>): Observable<BaseResponse<HeadData>>

    //搜索条件
upwork.021 committed
42
    @GET("consult/search/v3/conditions")
严久程 committed
43
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
44
    fun searchConditions(@Query("cateSource") cateSource: Int): Observable<BaseAPIResponse<HeadData>>
45

upwork.021 committed
46 47 48 49 50 51 52 53

    /**
     * 新咨询师列表接口(包含搜索、筛选咨询师)
     */
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA,"X-App-Id: plough_cloud")
    @POST("smart-rank/v1/search")
    fun getExpertList(@Body map: Map<String,@JvmSuppressWildcards Any>):Observable<BaseAPIResponse<ExpertBean>>

upwork.021 committed
54 55 56 57 58 59 60
    /**
     * 获取搜索联想词
     */
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    @POST("dmp/v1/searchsuggest")
    fun getSearchWords(@Body map: Map<String,@JvmSuppressWildcards Any>):Observable<BaseAPIResponse<SearchWordsBean>>

61 62

    //搜索页面接口
严久程 committed
63
    @retrofit2.http.Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
64 65 66 67 68 69
    @GET("home/search-page")
    fun searchPage(): Observable<BaseAPIResponse<HotSearchBean>>

    //筛选结果计数
    @retrofit2.http.Headers("Content-Type:application/json")
    @GET
严久程 committed
70
    fun getFilterCount(@Url url: String?): Observable<BaseAPIResponse<Int>>
71 72

    //导医
严久程 committed
73
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
74 75 76
    @GET("consult/assistant/guide-switch")
    fun getConsultAssistantRequest(@Query("switchKey") switchKey: String): Observable<BaseAPIResponse<Boolean>>

77
    //获取咨询助理uid
严久程 committed
78
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
79 80
    @POST("doctor/querySpecialTopic")
    fun getBigShotData(): Observable<BaseAPIResponse<ExpertSearchTopShowBean>>
严久程 committed
81 82 83 84 85


    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    @GET("testGeneral/daoyi/setting")
    fun getGuideData(): Observable<BaseAPIResponse<Map<String, List<GuideBean>>>>
86 87 88 89 90 91 92 93

    //8-22点跳自主,其他时间跳导医,
    // 0 自主默认
    //1 自主
    //2 导医
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
    @GET("consult/assistant/chat-time-setting")
    fun getJumpTypeRequest(): Observable<BaseAPIResponse<Int>>
94 95 96 97 98 99 100 101 102 103 104 105

    /**
     * 100 有配置接口
     * */
    @GET("consult/assistant/chat-route-config")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA,"Content-Type:application/json")
    fun getChatRouteConfig(
        @Query("location") location: Int,
        @Query("naviType") naviType: String = "1"
    ): Observable<BaseAPIResponse<Long>>


106
}