ConsultAssistantEntryUtils.kt 4.87 KB
Newer Older
严久程 committed
1 2 3 4 5
package com.yidianling.consultant.modular.utils

import android.annotation.SuppressLint
import android.app.Activity
import android.support.v7.app.AppCompatActivity
6 7
import com.ydl.ydl_router.manager.YDLRouterManager
import com.ydl.ydl_router.manager.YDLRouterParams
严久程 committed
8
import com.ydl.ydlcommon.data.http.ThrowableConsumer
9 10
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.Utils
严久程 committed
11
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
12
import com.yidianling.common.tools.LogUtil
严久程 committed
13 14 15 16 17 18 19 20 21 22
import com.yidianling.common.tools.ToastUtil
import com.yidianling.consultant.ConsultAssistantCenterActivity
import com.yidianling.consultant.constants.ConsultBIConstants
import com.yidianling.consultant.model.SearchApi
import com.yidianling.consultant.router.ConsultantIn
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers

class ConsultAssistantEntryUtils {
严久程 committed
23
    companion object {
严久程 committed
24
        @SuppressLint("CheckResult")
霍志良 committed
25
        fun jumpConsultAssistant(activity: Activity, location: Int,ffrom2:String?) {
严久程 committed
26 27 28 29 30 31 32 33 34
            ActionCountUtils.count(
                ConsultBIConstants.POSITION_DAOYI_ADVERTISEMENT_CLICK,
                "$location"
            )

            if (!ConsultantIn.isLogin()) {
                ConsultantIn.toLogin(activity)
            } else {
                // 请求接口获取咨询助理的uid
霍志良 committed
35
                SearchApi.getSearchApi().getConsultAssistantUidRequest(location,ffrom2)
严久程 committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe(Consumer {
                        if (it.code == "200" && it.data != 0.toLong() && null != activity) {
                            ConsultantIn.startP2PSession(
                                activity as AppCompatActivity,
                                it.data.toString()
                            )
                        } else {
                            ToastUtil.toastShort("咨询助理忙碌中,请稍后再试")
                        }
                    }, object : ThrowableConsumer() {
                        override fun accept(msg: String) {
                            if (null != activity && activity is ConsultAssistantCenterActivity && !activity.isFinishing) activity.finish()
                        }
严久程 committed
51
                    }
严久程 committed
52 53 54
                    )
            }

严久程 committed
55
        }
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89

/*
* 根据Type0,1跳自主,2跳导医
* 在跳自主的(type=1)情况下,点击item是跳专家详情页
*
* */
        @SuppressLint("CheckResult")
        fun getTypeJump(activity: Activity, location: Int,doctorUid:Int,url:String?){
            SearchApi.getSearchApi().getJumpTypeRequest()
                .subscribeOn((Schedulers.io()))
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe (Consumer {
                    when(it.code){
                        "200"->{
                            when(it.data){
                                0->{
                                    jumpToAutoTalk(activity, doctorUid)
                                }
                                1->{
                                    if (url.isNullOrEmpty()){
                                        jumpToAutoTalk(activity, doctorUid)
                                    }else{
                                        if (url.startsWith("http")) {
                                            YDLRouterManager.router(
                                                IYDLRouterConstant.ROUTER_H5_H5,
                                                YDLRouterParams().putExtra(IYDLRouterConstant.EXTRA_URL, url), ""
                                            )
                                        } else {
                                            YDLRouterManager.router(url)
                                        }
                                    }

                                }
                                2->{
霍志良 committed
90
                                    jumpConsultAssistant(activity,location,null)
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
                                }
                                else->{
                                    jumpToAutoTalk(activity, doctorUid)
                                    LogUtil.e(it.data.toString())
                                }
                            }
                        }
                        else->{
                            ToastUtil.toastShort(it.code)
                        }
                    }
                },object:ThrowableConsumer(){
                    override fun accept(msg: String) {
                        ToastUtil.toastShort(msg)
                    }

                })
        }

        private fun jumpToAutoTalk(activity: Activity, doctorUid: Int) {
            ConsultantIn.startP2PSession(
                activity as AppCompatActivity,
                doctorUid.toString()
            )
        }
严久程 committed
116 117
    }
}