ServiceApi.kt 5.06 KB
Newer Older
konghaorui committed
1 2 3 4 5
package com.yidianling.uikit.custom.http

import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import com.ydl.ydlcommon.data.http.BaseAPIResponse
6
import com.yidianling.im.bean.BusyBean
范玉宾 committed
7
import com.yidianling.im.bean.CanViewConsult
8
import com.yidianling.im.bean.FirstQuestionBean
9
import com.yidianling.uikit.custom.http.response.*
10
import com.yidianling.uikit.custom.http.response.question.QuestionsInfoBean
konghaorui committed
11
import io.reactivex.Observable
严久程 committed
12 13
import okhttp3.RequestBody
import retrofit2.http.*
konghaorui committed
14 15 16 17

/**
 * Created by xj on 2019/6/26.
 */
18
interface ServiceApi {
konghaorui committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32
    //获取专家状态信息
    @GET("chat/status")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getDoctorChatStatus(@Query("doctorUid") doctorUid: Long): Observable<BaseAPIResponse<ChatStatusBean>>

    //获取专家状态信息
    @GET("chat/assistant-online-status")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getAssistantChatStatus(@Query("assistantUid") assistantUid: Long): Observable<BaseAPIResponse<Int>>


    //获取推荐专家列表信息
    @GET("doctor/recommendSimilarListeners")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
33 34 35 36 37
    fun getRecommendExpertList(
        @Query("doctorUid") doctorUid: Long, @Query("catName") catName: String, @Query(
            "limit"
        ) limit: Int
    ): Observable<BaseAPIResponse<ArrayList<RecommendExpertBean>>>
严久程 committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

    //获取常用语
    @POST("phrase/list")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getCommonQuestionList(): Observable<BaseAPIResponse<List<CommonQuestionBean>>>

    //常用语的点击
    @GET("phrase/count")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun sendCommonQuestionCount(@Query("id") id: String): Observable<BaseAPIResponse<Any>>


    //信息采集的问题
    @GET("user/collect/list")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun userCollectList(): Observable<BaseAPIResponse<List<UserQuestInfoBean>>>

55 56

    //获取新用户收集的信息
57
    @POST("user/getNewUserMes")
58
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
徐健 committed
59
    fun getNewUserMes(@Body body: RequestBody): Observable<BaseAPIResponse<List<UserQuestInfoBean>>>
徐健 committed
60 61 62 63 64

    //获取用户来源的信息
    @GET("user/getExChannel")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getUserSource(@Query("uid") uid: String): Observable<BaseAPIResponse<String>>
65

严久程 committed
66 67 68 69
    //信息采集的问题
    @POST("user/collect/submit")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun submitUserCollect(@Body body: RequestBody): Observable<BaseAPIResponse<Any>>
70 71

    //关注
72 73
    @GET("consult/expert-page/toggle-follow")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
74 75 76 77
    fun focus(
        @Query("doctorId") doctorId: String,
        @Query("status") status: String
    ): Observable<BaseAPIResponse<Any>>
徐健 committed
78 79

    //服务列表
80
    @GET("consult/expert-page/nproducts")
徐健 committed
81 82
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun serviceList(@Query("doctorId") doctorId: String): Observable<BaseAPIResponse<List<ServiceItemBean>>>
83

84 85 86
    //查询咨询师是否在繁忙状态
    @GET("counselor/doctor/v1/doctor/isBusy")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
87
    fun queryDoctorIsBusy(@Query("id") doctorId: String): Observable<BaseAPIResponse<BusyBean>>
88

89
    //获取输入框的hint内容
徐健 committed
90
    @GET("systemconfig/get-chat-view-config")
91
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
徐健 committed
92
    fun getChatViewConfig(): Observable<BaseAPIResponse<SystemInfoBean>>
93 94 95 96 97


    //获取代运营关联的专家的信息
    @GET("chat/get-source-doctor")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
98

99
    //注意:这个接口返回的还有很多字段,但是暂时不需要,就先取这两个字段
100 101 102 103 104 105 106 107 108
    fun getSourceDoctor(
        @Query("scene") scene: Int,
        @Query("userUid") userUid: String,
        @Query("assistantUid") assistantUid: String
    ): Observable<BaseAPIResponse<SourceDoctorInfoBean>>

    //新版前置信息收集 客户端灵犀信息收集卡题库
    @GET("cms/exam/api/v1/exams/lingxi/pre-exam-question-paper")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
109
    //注意:这个接口返回的还有很多字段,但是暂时不需要,就先取这两个字段
110 111 112 113 114 115 116 117 118 119
    fun preExamQuestionPaper(): Observable<BaseAPIResponse<QuestionsInfoBean>>

    //创建答题信息
    @POST("cms/exam/api/v1/exams")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun createEexams(@Body body: RequestBody): Observable<BaseAPIResponse<String>>

    //答题
    @POST("cms/exam/api/v1/exams/{id}/lingxi/answer-question")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
120
    fun answerQuestion(@Path("id") id: String, @Body body: RequestBody): Observable<BaseAPIResponse<String>>
121

122 123 124 125 126 127
    /**
     * 获取首问语
     */
    @POST("dmp/v1/clouddata/schemas/lingxi_quick_replies/query")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA,"X-App-Id: crm_cloud")
    fun getFirstQuestion( @Body map: Map<String,@JvmSuppressWildcards Any>): Observable<BaseAPIResponse<FirstQuestionBean>>
128

范玉宾 committed
129 130 131 132 133 134
    //倾诉2.0迭代   是否显示立即咨询按钮
    @GET("consult/expert-page/canViewConsult")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun canViewConsult(@Query("doctorId") doctorId: String): Observable<BaseAPIResponse<CanViewConsult>>


konghaorui committed
135
}