package com.zxhl.cms.net.api;

import com.zxhl.cms.ad.upload.model.Response;
import com.zxhl.cms.common.NetConfig;
import com.zxhl.cms.net.model.task.TaskEntity;
import com.zxhl.cms.net.model.uc.CoinEntity;

import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * Created by gaoleichao on 2018/5/2.
 */

public interface ITaskInfoApi {

    /**
     * 新手任务
     *
     * @param
     * @return
     */
    @GET(NetConfig.Task.URL_TASK_NEWTASKLIST)
    Observable<Response<List<TaskEntity>>> getNewUserTask();

    /**
     * 日常任务
     *
     * @param
     * @param
     * @return
     */
    @GET(NetConfig.Task.URL_TASK_DAILYTASKLIST)
    Observable<Response<List<TaskEntity>>> getDailyUserTask();

    /**
     * 完成任务接口
     *
     * @param stringMap
     * @param
     * @return
     */
    @POST("api/v1/userTask/{url}")
    Observable<Response> saveTake(@Path("url") String url, @Query("id") String stringMap, @Query("s_uid") String uid);

    /**
     * 查询任务状态
     *
     * @param stringMap
     * @param
     * @return
     */
    @GET(NetConfig.Task.URL_TASK_QUERYTASK)
    Observable<Response<TaskEntity>> queryTaskStatus(@Query("sid") String stringMap, @Query("slot_id") String solt_id);

    /**
     * 签到
     *
     * @param
     * @param
     * @return
     */
    @POST(NetConfig.Task.URL_TASK_SIGNIN)
    Observable<Response<CoinEntity>> sign();

}
