CourseRetrofitUtils.java 4.75 KB
Newer Older
严久程 committed
1
package com.yidianling.course.net;
严久程 committed
2 3

import android.content.Context;
严久程 committed
4
import com.ydl.ydlcommon.base.config.HttpConfig;
严久程 committed
5 6 7 8 9 10 11
import com.ydl.ydlcommon.data.http.BaseAPIResponse;
import com.ydl.ydlcommon.data.http.BaseResponse;
import com.ydl.ydlcommon.data.http.FormatText;
import com.ydl.ydlcommon.utils.NetworkParamsUtils;
import com.ydl.ydlcommon.utils.remind.HttpErrorUtils;
import com.ydl.ydlnet.YDLHttpUtils;
import com.yidianling.course.bean.*;
严久程 committed
12 13
import com.yidianling.course.course_special_list.bean.CourseSpecialListBean;
import com.yidianling.course.course_special_list.bean.CourseSpecialListParam;
严久程 committed
14 15 16 17 18 19
import com.yidianling.course.model.CourseCategoryBean;
import com.yidianling.course.model.TopicCourseBean;
import io.reactivex.Observable;
import okhttp3.MediaType;
import okhttp3.RequestBody;

严久程 committed
20
import java.util.List;
严久程 committed
21 22 23 24 25

/**
 * Created by Jim on 2018/2/26 0026.
 */

严久程 committed
26
public class CourseRetrofitUtils {
严久程 committed
27 28

    public static void handleError(Context context, Throwable e) {
严久程 committed
29
        HttpErrorUtils.Companion.handleError(context, e);
严久程 committed
30 31 32 33 34
    }


    //课程提交回复
    public static Observable<BaseResponse<Object>> commitCourseReply(Command.CourseCommitReply cmd) {
严久程 committed
35 36
        List<FormatText> list = NetworkParamsUtils.getPostList(cmd);
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).commitCourseReply(NetworkParamsUtils.getMaps(list));
严久程 committed
37 38 39 40
    }

    //获取课程海报分享数据
    public static Observable<BaseResponse<PostersShareBean>> getPosterData(String courseId) {
严久程 committed
41
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getPosterData(courseId);
严久程 committed
42 43 44 45
    }

    //课程课后笔记列表
    public static Observable<BaseResponse<List<CoursePlayBean.Comments>>> courseReplyList(Command.CourseReplyList cmd) {
严久程 committed
46 47
        List<FormatText> list = NetworkParamsUtils.getPostList(cmd);
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).courseReplyList(NetworkParamsUtils.getMaps(list));
严久程 committed
48 49 50 51
    }

    //获取课程列表分类
    public static Observable<BaseAPIResponse<CourseCategoryBean>> getCourseListCategory() {
严久程 committed
52
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseListCategory();
严久程 committed
53 54 55 56
    }

    //获取课程专题
    public static Observable<BaseAPIResponse<TopicCourseBean>> getCourseTopic(String id) {
严久程 committed
57
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseSpecial(id);
严久程 committed
58 59 60 61 62 63 64 65 66 67 68 69 70
    }


    /**
     * 获取可以领取的优惠券
     *
     * @param uid         uid
     * @param services    适用服务 1预约咨询 2电话倾诉 3课程(用户课程 专家课程) 5测评
     * @param receiveType 领取条件方式 1前台领取 2链接领取
     * @param applyEnds   适用终端 1PC官网 2wap站点 3用户app 4好杮app 5专家app
     * @return
     */
    public static Observable<BaseResponse<List<CourseCouponBean>>> getCourseCoupons(String uid, String services, String receiveType, String applyEnds) {
严久程 committed
71
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseCoupons(uid, services, receiveType, applyEnds);
严久程 committed
72 73 74 75 76
    }

    //领取优惠券
    public static Observable<BaseResponse<List<String>>> receiveCoupon(String couponIds) {
        RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), couponIds);
严久程 committed
77 78 79 80 81 82 83 84 85 86 87
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).receiveCoupon(body);
    }

    public static Observable<BaseAPIResponse<CouponHintResponseBean>> getCouponHint(CouponHintParam param) {
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCouponHint();
    }

    public static Observable<BaseAPIResponse<String>> getCouponMax(RedListParam param) {
        StringBuffer sb = new StringBuffer();
        sb.append("serviceType").append("=").append(param.getServiceType()).append("&");
        String confideParam = sb.toString() + NetworkParamsUtils.getCommonParam();
严久程 committed
88
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCouponMax(HttpConfig.Companion.getJAVA_BASE_URL() + "auth/coupon/max?" + confideParam);
严久程 committed
89 90 91
    }

    public static Observable<BaseAPIResponse<CourseListDataBean>> getCourseList(String url) {
严久程 committed
92
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCourseList(HttpConfig.Companion.getJAVA_BASE_URL() + "auth/course/getList?" + url);
严久程 committed
93 94 95 96 97 98 99 100
    }


    /**
     * 获取课程播放页 java 接口
     */
    public static Observable<BaseResponse<CourseMediaDetailBean>> getCoursePlayData(String courseId) {
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).getCoursePlayData(courseId);
严久程 committed
101 102
    }

严久程 committed
103 104 105 106 107
    public static Observable<BaseAPIResponse<CourseSpecialListBean>> specialListRequest(CourseSpecialListParam param) {
        List<FormatText> list = NetworkParamsUtils.getPostList(param);
        return YDLHttpUtils.Companion.obtainApi(NetApiStore.class).courseSpecialList(NetworkParamsUtils.getMaps(list));
    }

严久程 committed
108
}