package com.tjzhxx.union.public_store.retrofit;


import com.tjzhxx.union.entity.BannerEntity;
import com.tjzhxx.union.entity.BaseResponse;
import com.tjzhxx.union.entity.Faceid;
import com.tjzhxx.union.entity.NewBean;
import com.tjzhxx.union.entity.Rescuestyle;
import com.tjzhxx.union.entity.UserInfo;
import com.tjzhxx.union.entity.request.DataDbqzPhotoRequest;
import com.tjzhxx.union.entity.request.DataDbqzRequest;
import com.tjzhxx.union.entity.request.DataXcjzRequest;
import com.tjzhxx.union.entity.request.DataZywwRequest;
import com.tjzhxx.union.entity.request.FaceidRequest;
import com.tjzhxx.union.entity.request.GetPayInfoRequest;
import com.tjzhxx.union.entity.request.IsRepeatRequest;
import com.tjzhxx.union.entity.request.NewListRequest;
import com.tjzhxx.union.entity.request.SmsCodeRequest;
import com.tjzhxx.union.entity.request.SmsLoginRequest;
import com.tjzhxx.union.entity.request.SubnewworkerRequest;
import com.tjzhxx.union.entity.request.WxPayReq;

import java.util.List;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Body;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;

public interface UnionServices {


    //首页轮播图
    @POST("index.php/index/Political/querytitlelistforapp")
    Observable<BaseResponse<List<BannerEntity>>> querytitlelist();

    //获取新闻清单
    @POST("index.php/index/Political/querynewlist")
    Observable<BaseResponse<List<NewBean>>> querynewlist(@Body NewListRequest request);


    //请求政策清单
    @POST("index.php/index/Political/querypoliticallistforapp")
    Observable<BaseResponse<List<NewBean>>> querypoliticallistforapp();

    //请求活动类报道清单
    @POST("index.php/index/Political/queryactivityreportforapp")
    Observable<BaseResponse<List<NewBean>>> queryactivityreportforapp(@Body NewListRequest request);

    // 上传图片
    @Multipart
    @POST("index.php/index/Fileoper/upQuestionsWriteforapp")
    Observable<BaseResponse<String>> uploadImage(@Part MultipartBody.Part part);

    //获取身份证信息
    @POST("https://app.tjzhxx.cn:5443/api/tencent_cloud/faceid")
    Observable<BaseResponse<Faceid>> faceid(@Body FaceidRequest request);

    //验证身份信息
    @POST("index.php/index/Worker/querysfzrepeatfromapp")
    Observable<BaseResponse<UserInfo>> querysfzrepeatfromapp(@Body IsRepeatRequest request);


    //提交会员入会资料
    @POST("index.php/index/Worker/subnewworkerfromapp")
    Observable<BaseResponse<UserInfo>> subnewworkerfromapp(@Body SubnewworkerRequest request);

    //用户验证码发送
    @POST("https://app.tjzhxx.cn:5443/api/tencent_cloud/sendSmsCode")
    Observable<BaseResponse> sendSmsCode(@Body SmsCodeRequest request);

    //用户短信验证码登录
    @POST("index.php/index/weblogin/smsLogin")
    Observable<BaseResponse<UserInfo>> smsLogin(@Body SmsLoginRequest request);

    //请求需上传的文档清单
    @POST("index.php/index/Rescue/queryrescuelistforapp")
    Observable<BaseResponse<List<Rescuestyle>>> queryrescuelistforapp(@Query("rescuestyle") int rescuestyle);

    //提交现场慰问提交救助资料照片
    @POST("index.php/index/Rescue/subapplywithdocbywidforapp")
    Observable<BaseResponse> subapplywithdocbywidforapp(@Body DataXcjzRequest request);


    //提交住院关爱慰问资料
    @POST("index.php/index/Rescue/subapplywithdocandinfoforapp")
    Observable<BaseResponse> subapplywithdocandinfoforapp(@Body DataZywwRequest request);

    //提交大病救助资料接口
    @POST("index.php/index/Rescue/subapplywithinfoforapp")
    Observable<BaseResponse<String>> subapplywithinfoforapp(@Body DataDbqzRequest request);

    //提交大病救助照片接口
    @POST("index.php/index/Rescue/subdocbyapplyidforapp")
    Observable<BaseResponse> subdocbyapplyidforapp(@Body DataDbqzPhotoRequest request);

    //用户支付入会费接口 使用微信统一下单接口 仅app用
    @POST("index.php/index/pay/getOrderInfoForApp")
    Observable<BaseResponse<WxPayReq>> getOrderInfoForApp(@Body GetPayInfoRequest request);
}