NetApiStore.java 5.09 KB
Newer Older
严久程 committed
1
package com.yidianling.course.net;
严久程 committed
2

严久程 committed
3 4
import com.ydl.ydlcommon.data.http.BaseAPIResponse;
import com.ydl.ydlcommon.data.http.BaseResponse;
5 6 7 8 9 10 11 12
import com.yidianling.course.bean.CouponHintResponseBean;
import com.yidianling.course.bean.Course;
import com.yidianling.course.bean.CourseAddOrderBean;
import com.yidianling.course.bean.CourseCouponBean;
import com.yidianling.course.bean.CourseListDataBean;
import com.yidianling.course.bean.CourseMediaDetailBean;
import com.yidianling.course.bean.CoursePlayBean;
import com.yidianling.course.bean.PostersShareBean;
严久程 committed
13
import com.yidianling.course.course_special_list.bean.CourseSpecialListBean;
严久程 committed
14 15 16 17 18 19
import com.yidianling.course.model.CourseCategoryBean;
import com.yidianling.course.model.TopicCourseBean;

import java.util.List;
import java.util.Map;

20 21 22 23 24 25 26 27 28 29 30 31
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;

严久程 committed
32 33
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN;
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN_JAVA;
34
import static com.ydl.ydlcommon.base.config.AppConfigKt.YDL_DOMAIN_JAVA_URL;
严久程 committed
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

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

public interface NetApiStore {


    //获取课程列表
    @retrofit2.http.Headers("Content-Type:application/json")
    @GET()
    Observable<BaseAPIResponse<CourseListDataBean>> getCourseList(@Url String url);

    //获取课程列表
    @FormUrlEncoded
    @POST("course/list")
    Observable<BaseResponse<List<Course>>> getPhpCourseList(@FieldMap Map<String, String> params);

    //课程课后笔记列表
    @FormUrlEncoded
    @POST("course/comments")
    Observable<BaseResponse<List<CoursePlayBean.Comments>>> courseReplyList(@FieldMap Map<String, String> params);

    //课程提交回复
    @FormUrlEncoded
    @POST("auth/course/comments/add")
严久程 committed
61
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75
    Observable<BaseResponse<Object>> commitCourseReply(@FieldMap Map<String, String> params);

    //课程播放页--点赞
    @FormUrlEncoded
    @POST("course/zan")
    Observable<BaseResponse<Object>> coursePlayZan(@FieldMap Map<String, String> params);

    //参加课程
    @FormUrlEncoded
    @POST("course/add-order")
    Observable<BaseResponse<CourseAddOrderBean>> addCourseOrder(@FieldMap Map<String, String> params);

    //获取课程海报分享数据
    @GET("auth/course/posters/share")
严久程 committed
76
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
77 78 79 80 81 82 83 84 85 86
    Observable<BaseResponse<PostersShareBean>> getPosterData(@Query("id") String courseId);


    //首页分类
    @FormUrlEncoded
    @POST("course/cats")
    Observable<BaseResponse<List<CourseCategoryBean>>> getCourseCats(@FieldMap Map<String, String> params);

    //课程筛选分类
    @GET("auth/course/search/newsample")
严久程 committed
87
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
88 89 90 91 92
    Observable<BaseAPIResponse<CourseCategoryBean>> getCourseListCategory();


    //课程专题列表接口
    @GET("auth/course/new/listCoursesBySpecialId")
严久程 committed
93
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
94 95 96 97 98 99 100 101 102 103 104 105 106
    Observable<BaseAPIResponse<TopicCourseBean>> getCourseSpecial(@Query("specialId") String uid);


    /**
     * 获取可以领取的优惠券
     *
     * @param uid         uid
     * @param services    适用服务 1预约咨询 2电话倾诉 3课程(用户课程 专家课程) 5测评
     * @param receiveType 领取条件方式 1前台领取 2链接领取
     * @param applyEnds   适用终端 1PC官网 2wap站点 3用户app 4好杮app 5专家app
     * @return
     */
    @GET("marketing/coupon/new/available")
107
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA_URL)
严久程 committed
108 109 110 111 112 113 114
    Observable<BaseResponse<List<CourseCouponBean>>> getCourseCoupons(@Query("uid") String uid,
                                                                      @Query("services") String services,
                                                                      @Query("receiveType") String receiveType,
                                                                      @Query("applyEnds") String applyEnds);

    //领取优惠券
    @POST("marketing/coupon/new/receives")
115
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA_URL)
严久程 committed
116
    Observable<BaseResponse<List<String>>> receiveCoupon(@Body RequestBody body);
严久程 committed
117 118 119


    @GET("auth/coupon/courseCoupon/warn")
严久程 committed
120
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
121 122 123 124 125 126 127 128 129 130
    Observable<BaseAPIResponse<CouponHintResponseBean>> getCouponHint();


    //倾诉红包接口
    @retrofit2.http.Headers("Content-Type:application/json")
    @GET
    Observable<BaseAPIResponse<String>> getCouponMax(@Url String url);

    //获取课程播放页 java 接口
    @GET("auth/course/get/all/audio-video")
严久程 committed
131
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
132
    Observable<BaseResponse<CourseMediaDetailBean>> getCoursePlayData(@Query("courseId") String courseId);
严久程 committed
133 134 135


    //课程专题列表
严久程 committed
136
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
严久程 committed
137 138
    @GET("auth/course/listCoursesBySpecialId")
    Observable<BaseAPIResponse<CourseSpecialListBean>> courseSpecialList(@QueryMap Map<String, String> params);
严久程 committed
139
}