package com.yidianling.im.session.action; import android.text.TextUtils; import com.yidianling.nimbase.business.session.actions.BaseAction; import com.yidianling.im.R; import com.yidianling.im.http.ImHttpImpl; import com.yidianling.im.http.ImRetrofitApi; import com.yidianling.im.http.param.ExpertParam; import com.yidianling.router.im.IMExpertBuild; import com.ydl.webview.H5Params; import com.ydl.webview.NewH5Activity; import com.ydl.ydlcommon.data.http.BaseResponse; import com.ydl.ydlcommon.data.http.ThrowableConsumer; import com.ydl.ydlcommon.utils.remind.ToastHelper; import org.jetbrains.annotations.NotNull; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; /** * author : Zhangwenchao * e-mail : zhangwch@yidianling.com * time : 2018/04/23 * 查看订单按钮 */ public class OrderAction extends BaseAction { public OrderAction() { super(R.drawable.im_btn_chat_orders, R.string.im_input_panel_order); } @Override public void onClick() { //先根据uid判断用户类型:专家调一个接口,非专家调另外的接口 ImRetrofitApi.Companion.getImJavaApi().getUserType(getAccount()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(res -> { if (res.code == 200) { Observable<BaseResponse<IMExpertBuild>> observable; if (TextUtils.equals(res.data, "2")) {//专家 observable = ImRetrofitApi.Companion.getImJavaApi().getPersonalChat(getAccount()); } else { observable = ImHttpImpl.Companion.getInstance().getExpert(new ExpertParam(Integer.valueOf(getAccount()), 0)); } observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(resp -> { if (resp != null && resp.data != null && resp.data.shareData != null && !TextUtils.isEmpty(resp.data.shareData.order_url)) { NewH5Activity.start(getActivity(), new H5Params(resp.data.shareData.order_url + "?search=" + resp.data.shareData.doctorName, "订单")); } else { if (resp != null) { ToastHelper.Companion.show(resp.msg); } } }, new ThrowableConsumer() { @Override public void accept(@NotNull String msg) { ToastHelper.Companion.show(msg); } }); } else { ToastHelper.Companion.show(res.msg); } }, throwable -> { ToastHelper.Companion.show(throwable.getMessage()); }); } }