OrderAction.java 3.37 KB
Newer Older
konghaorui committed
1 2 3 4 5 6
package com.yidianling.im.session.action;

import android.text.TextUtils;

import com.ydl.webview.H5Params;
import com.ydl.webview.NewH5Activity;
7
import com.ydl.ydlcommon.base.lifecycle.ILifecycleable;
konghaorui committed
8
import com.ydl.ydlcommon.data.http.BaseResponse;
9
import com.ydl.ydlcommon.data.http.RxUtils;
konghaorui committed
10 11
import com.ydl.ydlcommon.data.http.ThrowableConsumer;
import com.ydl.ydlcommon.utils.remind.ToastHelper;
12 13 14 15 16
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.nimbase.business.session.actions.BaseAction;
konghaorui committed
17
import com.yidianling.im.api.bean.IMExpertBuild;
konghaorui committed
18 19 20 21

import org.jetbrains.annotations.NotNull;

import io.reactivex.Observable;
22
import io.reactivex.disposables.Disposable;
konghaorui committed
23 24 25 26 27 28 29 30 31 32 33

/**
 * author : Zhangwenchao
 * e-mail : zhangwch@yidianling.com
 * time   : 2018/04/23
 * 查看订单按钮
 */

public class OrderAction extends BaseAction {

    public OrderAction() {
konghaorui committed
34
        super(R.drawable.im_btn_chat_orders, R.string.im_input_panel_order);
konghaorui committed
35 36 37 38
    }

    @Override
    public void onClick() {
39 40 41 42 43
        ILifecycleable lifecycleable = null;
        if (getActivity() instanceof ILifecycleable) {
            lifecycleable = (ILifecycleable)(getActivity());
        }

konghaorui committed
44
        //先根据uid判断用户类型:专家调一个接口,非专家调另外的接口
45 46
        Disposable dis = ImRetrofitApi.Companion.getImJavaApi().getUserType(getAccount())
                .compose(RxUtils.applySchedulers(lifecycleable))
konghaorui committed
47 48 49
                .subscribe(res -> {
                    if (res.code == 200) {
                        Observable<BaseResponse<IMExpertBuild>> observable;
严久程 committed
50
                        if (TextUtils.equals(res.data.getUserType(), "2")) {//专家
konghaorui committed
51 52 53 54 55
                            observable = ImRetrofitApi.Companion.getImJavaApi().getPersonalChat(getAccount());
                        } else {
                            observable = ImHttpImpl.Companion.getInstance().getExpert(new ExpertParam(Integer.valueOf(getAccount()), 0));
                        }

56 57
                        Disposable disposable = observable
                                .compose(RxUtils.applySchedulers())
konghaorui committed
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
                                .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());
                });

    }
}