SearchApi.kt 4.45 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.*
10
import com.yidianling.consultant.model.bean.*
11 12 13 14 15 16 17 18 19 20 21 22 23
import io.reactivex.Observable
import retrofit2.http.*


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

    companion object {

        var instance: SearchApi? = null

严久程 committed
24
        fun getSearchApi(): SearchApi {
25 26 27 28 29 30 31 32 33 34 35 36 37
            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
38
    @GET("consult/search/v3/conditions")
严久程 committed
39
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
40
    fun searchConditions(@Query("cateSource") cateSource: Int): Observable<BaseAPIResponse<HeadData>>
41

42 43 44 45 46
    //查询八大类目包括
    @GET("consult/search/v3/mix-cates")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun searchEightCategoryHotWord(): Observable<BaseAPIResponse<MutableList<CateItem>>>

47 48 49 50
    //查询功能词、底纹词
    //(1热门词,2底纹词,3跳转词)
    @POST("function/word/queryList")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
霍志良 committed
51
    fun searchFunctionWord(@Body map: Map<String, @JvmSuppressWildcards Any>): Observable<BaseAPIResponse<MutableList<FunctionWordBean>>>
upwork.021 committed
52

53 54 55 56
    //查询功能词、底纹词
    //(1热门词,2底纹词,3跳转词)
    @POST("function/word/queryList")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
霍志良 committed
57
    fun searchFunctionWordApi(@Body map: Map<String, @JvmSuppressWildcards Any>): Observable<BaseAPIResponse<MutableList<FunctionWordConsultBean>>>
58

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

upwork.021 committed
66 67 68 69 70 71 72
    /**
     * 获取搜索联想词
     */
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    @POST("dmp/v1/searchsuggest")
    fun getSearchWords(@Body map: Map<String,@JvmSuppressWildcards Any>):Observable<BaseAPIResponse<SearchWordsBean>>

73 74

    //搜索页面接口
严久程 committed
75
    @retrofit2.http.Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
76 77 78 79 80 81
    @GET("home/search-page")
    fun searchPage(): Observable<BaseAPIResponse<HotSearchBean>>

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

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

89
    //获取咨询助理uid
严久程 committed
90
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
91
    @POST("doctor/querySpecialTopic")
92
    fun getBigShotData(@Body map: Map<String,@JvmSuppressWildcards Any>): Observable<BaseAPIResponse<ExpertSearchTopShowBean>>
严久程 committed
93 94 95 96 97


    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    @GET("testGeneral/daoyi/setting")
    fun getGuideData(): Observable<BaseAPIResponse<Map<String, List<GuideBean>>>>
98 99 100 101 102 103 104 105

    //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>>
106 107 108 109 110

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

117 118 119 120 121
    //根据IP地址获取城市
    @GET("region/ip-region")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA, "Content-Type:application/json")
    fun getCityByIp(): Observable<BaseAPIResponse<ConsultantRegionBean>>

122

fengquan committed
123 124 125 126 127 128
    //搜索条件
    @GET("consult/user/order/promptPayment")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun promptPayment(): Observable<BaseAPIResponse<PromptPaymentBean>>


129
}