package com.xty.network

import com.xty.network.model.XdBean
import com.xty.network.model.*
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.Response
import retrofit2.http.*

interface ApiInterface {

    /**
     * 图像上传
     */
    @POST("upload/uploadFileNew")
    @Multipart
    suspend fun uploadImage(
        @Part patt: MultipartBody.Part
    ): RespBody<ImageUploadBean>

    /**
     * 登陆
     */
    @POST("customer/login")
    suspend fun login(@Body rb: RequestBody): Response<RespBody<MainBean.User>>

    /**
     * 微信登陆
     */
    @POST("customer/wx/login")
    suspend fun loginWx(@Body rb: RequestBody): Response<RespBody<Any>>

    /**
     * 验证码登陆
     */
    @GET("customer/phone/login")
    suspend fun loginCode(
        @Query("phone") phone: String,
        @Query("code") code: String
    ): Response<RespBody<MainBean.User>>

    /**
     * 发送验证码
     */
    @GET("customer/smsCode")
    suspend fun sendCode(@Query("phone") phone: String): RespBody<String>

    @GET("/app/customer/user/getImUserSig")
    suspend fun getImUserSig(
        @Query("identifier") identifier: String
    ): Response<RespBody<String>>

    /**
     * 忘记密码  发送验证码
     */
    @GET("customer/getPwdSms")
    suspend fun sendCodeForget(@Query("phone") phone: String): RespBody<String>

    /**
     * 忘记密码  修改密码
     */
    @GET("customer/updatePwd")
    suspend fun changePsw(
        @Query("phone") phone: String, @Query("code") code: String, @Query("pwd") pwd: String
    ): RespBody<String>

    /**
     * 注册
     */

    @POST("customer/register")
    suspend fun register(@Body rb: RequestBody): Response<RespBody<String>>

    /**
     * 心率上传
     */
    @POST("customer/watchHr/save")
    suspend fun uploadRate(@Body rb: RequestBody): RespBody<String>

    /**
     * 血压上传
     */
    @POST("customer/watchDbp/save")
    suspend fun uploadDbp(@Body rb: RequestBody): RespBody<String>

    /**
     * 血氧上传
     */
    @POST("customer/watchSo/saveSo")
    suspend fun uploadSo(@Body rb: RequestBody): RespBody<String>

    /**
     * 体温上传
     */
    @POST("customer/watchTemp/save")
    suspend fun uploadTemp(@Body rb: RequestBody): RespBody<String>

    /**
     * 呼吸率上传
     */
    @POST("customer/watchResp/save")
    suspend fun uploadResp(@Body rb: RequestBody): RespBody<String>

    /**
     * 睡眠上传
     */
    @POST("customer/sleep/save")
    suspend fun uploadSleepOld(@Body rb: RequestBody): RespBody<String>

    /**
     * 新睡眠上传
     */
    @POST("customer/sleep/saveTwo")
    suspend fun uploadSleep(@Body rb: RequestBody): RespBody<String>

    /**
     * 步数上传
     */
    @POST("customer/step/save")
    suspend fun uploadStep(@Body rb: RequestBody): RespBody<String>

    /**
     * 获取血脂
     */
    @POST("customer/bloodfat/findNow")
    suspend fun getBloodFatFindNow(
        @Body rb: RequestBody
    ): RespBody<BloodFatBean>

    /**
     * 开通血脂
     */
    @POST("customer/bloodfat/firstOpen")
    suspend fun openBloodLipidFirstOpen(@Body respBody: RequestBody):RespBody<FirstOpenBean>

    /**
     * 获取血脂校准记录
     */

    @POST("customer/bloodfat/calibrationList")
    suspend fun getBloodLipidAdjustRecord(@Body rb:RequestBody):RespBody<PaingBean<BloodLipidAdjustBean>>

    /**
     * 添加血脂校准
     */
    @POST("customer/bloodfat/addCalibrationData")
    suspend fun addBloodLipidAdjust(@Body rb: RequestBody): RespBody<CalibrationBean>

    /**
     * 获取尿酸
     */
    @POST("customer/uricAcid/findNow")
    suspend fun getUricAcidFindNow(
        @Body rb: RequestBody
    ): RespBody<UricAcidInfoBean>


    /**
     * 获取用户其他信息
     */
    @POST("customer/uricAcid/getUserOtherInfo")
    suspend fun getUserOtherInfo(
        @Body rb: RequestBody
    ): RespBody<UricAcidUserBean>


    /**
     * 更新用户信息
     */
    @POST("customer/user/update")
    suspend fun updateUserInfo(@Body rb: RequestBody): RespBody<SettingBean.User>

    /**
     * 获取56个民族
     */
    @GET("butler/user/typeList/2")
    suspend fun getNations(): RespBody<MutableList<Nation>>


    /**
     * 获取尿酸 演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateBloodFat(
        @Body rb: RequestBody
    ): RespBody<BloodFatBean>

    /**
     * 获取尿酸 演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateUricAcid(
        @Body rb: RequestBody
    ): RespBody<UricAcidInfoBean>

    /**
     * 获取心率
     */
    @POST("customer/watchHr/findNowNew")
    suspend fun getXlFindNow(
        @Body rb: RequestBody
    ): RespBody<XlBean>

    /**
     * 获取心率 演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateWatchHr(
        @Body rb: RequestBody
    ): RespBody<XlBean>

    /**
     * 获取 血氧  演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateWatchSo(
        @Body rb: RequestBody
    ): RespBody<XyBean>

    /**
     * 获取 呼吸率  演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateDemonstrate(
        @Body rb: RequestBody
    ): RespBody<BreathBean>

    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateWatchTemp(
        @Body rb: RequestBody
    ): RespBody<TempBean>

    /**
     * 获取当天总睡眠、深睡时长、浅睡时长
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateNowSleep(@Body rb: RequestBody): RespBody<SleepBean>

    /**
     * 周、月、睡眠时间
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateSleep(@Body rb: RequestBody): RespBody<SleepStatistcBean>

    /**
     * 获取 血压  演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateWatchDbp(@Body rb: RequestBody): RespBody<DbpBean>

    /**
     * 血糖详情获取
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstrateBloodsugar(@Body rb: RequestBody): RespBody<XtNewBean>

    /**
     * 日周月年 报  演示数据
     */
    @POST("customer/demonstrate/findDemonstrate")
    suspend fun findDemonstratereport(@Body rb: RequestBody): RespBody<ReportBean>


    /**
     * 日报平均值 演示数据
     */
    @POST("customer/demonstrate/findPercentageDemonstrate")
    suspend fun findPercentageDemonstrate(@Body rb: RequestBody): RespBody<ReportAvgBean>


    /**
     * 24小时报告  演示数据
     */
    @POST("customer/demonstrate/find24HourDemonstrate")
    suspend fun find24HourDemonstrate(@Body rb: RequestBody): RespBody<ReportBean>

    /*   */
    /**
     * 获取心率  各项平均值
     *//*
    @GET("customer/watchHr/findData")
    suspend fun getXlFindData(@Query("type") type: String,@Query("date") time:String?): RespBody<XlAvg>
*/
    /**
     *尿酸数据对比
     */
    @POST("customer/uricAcid/findComparData")
    suspend fun findComparDataUricAcid(@Body rb: RequestBody): RespBody<UricAcidBean>

    /**
     * 血脂数据对比
     */
    @POST("customer/bloodfat/findComparData")
    suspend fun findCompareDataBloodLipid(@Body rb: RequestBody): RespBody<BloodLipidDataBean>

    /**
     *心率数据对比
     */
    @POST("customer/watchHr/findComparData")
    suspend fun findComparDataWatchHr(@Body rb: RequestBody): RespBody<XlCompareBean>

    /**
     *体温数据对比
     */
    @POST("customer/watchTemp/findComparData")
    suspend fun findComparDataWatchTemp(@Body rb: RequestBody): RespBody<TemCompareBean>

    /**
     *血氧数据对比
     */
    @POST("customer/watchSo/findComparData")
    suspend fun findComparDataWatchSo(@Body rb: RequestBody): RespBody<XyangCompareBean>

    /**
     *呼吸数据对比
     */
    @POST("customer/watchResp/findComparData")
    suspend fun findComparDataWatchResp(@Body rb: RequestBody): RespBody<BreathCompareBean>

    /**
     *血糖数据对比
     */
    @POST("customer/bloodsugar/findComparData")
    suspend fun findComparDataBloodsugar(@Body rb: RequestBody): RespBody<XTCompareBean>

    /**
     *血压数据对比
     */
    @POST("customer/watchDbp/findComparData")
    suspend fun findComparDataWatchDbp(@Body rb: RequestBody): RespBody<XyaCompareBean>

    /**
     *睡眠数据对比
     */
    @POST("customer/sleep/findComparData")
    suspend fun findComparDataSleep(@Body rb: RequestBody): RespBody<SleepCompareBean>


    /**
     * 血压查询
     */
    @POST("customer/watchDbp/findNowNew")
    suspend fun getDbpFindNow(@Body rb: RequestBody): RespBody<DbpBean>

    /** 血压平均值查询
     */
    @POST("customer/watchDbp/findData")
    suspend fun getDbpAvgFindNow(
        @Body rb: RequestBody
    ): RespBody<DbpBean>

    /**
     * 血氧查询
     */
    @POST("customer/watchSo/findNowNew")
    suspend fun getSoFindNow(
        @Body rb: RequestBody
    ): RespBody<XyBean>

    /** 血氧平均值查询
     */
    @GET("customer/watchSo/findData")
    suspend fun getSoAvgFindNow(
        @Query("type") type: String,
        @Query("date") time: String?
    ): RespBody<XyBean>

    /**
     * 体温查询
     */
    @POST("customer/watchTemp/findNowNew")
    suspend fun getTempFindNow(
        @Body rb: RequestBody
    ): RespBody<TempBean>

    /**
     * 体温平均值查询
     */
    @GET("customer/watchTemp/findData")
    suspend fun getTempAvgFindNow(
        @Query("type") type: String,
        @Query("date") time: String?
    ): RespBody<TempBean>

    /**
     * 呼吸率查询
     */
    @POST("customer/watchResp/findNowNew")
    suspend fun getRespFindNow(
        @Body rb: RequestBody
    ): RespBody<BreathBean>

    /**
     * 呼吸率平均值查询
     */
    @GET("customer/watchResp/findData")
    suspend fun getRespAvgFindNow(
        @Query("type") type: String,
        @Query("date") time: String?
    ): RespBody<BreathBean>

    /**
     * 睡眠信息
     */
    @POST("customer/sleep/findData")
    suspend fun getSleepFindNow(@Body rb: RequestBody): RespBody<List<SleepBean>>

    /**
     * 获取各项信息的区间配置
     */
    @GET("customer/watch/list")
    suspend fun getWatchSetting(@Query("type") type: Int): RespBody<List<InfoSetting>>

    /**
     * 获取血脂最新数据
     */
    @POST("customer/bloodfat/selectNow")
    suspend fun getBloodFatNowInfo(@Body rb: RequestBody): RespBody<BloodFatHeadInfo>

    /**
     * 获取尿酸最新数据
     */
    @POST("customer/uricAcid/selectNow")
    suspend fun getUricAcidNowInfo(@Body rb: RequestBody): RespBody<UricAcidHeardInfoBean>

    /**
     * 获取心率最后一条数据
     */
    @POST("customer/watchHr/getNewEst")
    suspend fun getLastXl(@Body rb: RequestBody): RespBody<XlBean.Model>

    /**
     * 获取血压最后一条数据
     */
    @POST("customer/watchDbp/getNewEst")
    suspend fun getLastDbp(@Body rb: RequestBody): RespBody<DbpBean.Model>

    /**
     * 获取血氧最后一条数据
     */
    @POST("customer/watchSo/getNewEst")
    suspend fun getLastSo(@Body rb: RequestBody): RespBody<XyBean.Model>

    /**
     * 获取体温最后一条数据
     */
    @POST("customer/watchTemp/getNewEst")
    suspend fun getLastTemp(@Body rb: RequestBody): RespBody<TempBean.Model>

    /**
     * 获取呼吸率最后一条数据
     */
    @POST("customer/watchResp/getNewEst")
    suspend fun getLastBreath(@Body rb: RequestBody): RespBody<BreathBean.Model>

    /**
     * 获取当天总睡眠、深睡时长、浅睡时长
     */
    @POST("customer/sleep/findNow")
    suspend fun getTodaySleep(@Body rb: RequestBody): RespBody<SleepBean>

    /**
     * 获取心电最后一条数据
     */
    @GET("customer/watchCvrr/getNewEst")
    suspend fun getNewEst(): RespBody<String>

    /**
     * 获取首页展示信息
     */
    @POST("customer/index")
    suspend fun getMainInfo(@Body rb: RequestBody): RespBody<MainBean>

    @POST("customer/user/getDeviceFuncList")
    suspend fun getDeviceFunctionList(@Body rb: RequestBody) :RespBody<MutableList<DeviceFunctionBean>>

    /**
     * 首页小贴士
     */
    @POST("customer/warmTip/list")
    suspend fun getTips(): RespBody<MutableList<TipsBean>>

    /**
     * 首页轮播图
     */
    @GET("customer/bannerImg/listNew")
    suspend fun getBanners(@Query("userId") userId: String,@Query("location") location: Int): RespBody<MutableList<BannerBean>>

    /**
     * 打卡首页信息
     */
    @GET("customer/clock/indexNew")
    suspend fun getDkInfo(@Query("userId") userId: String): RespBody<DkBean>

    /**
     * 打卡
     */
    @POST("customer/clock/save")
    suspend fun clickDk(@Body rb: RequestBody): RespBody<String>

    @POST("customer/device/findNewList")
    suspend fun getChatData(@Body rb: RequestBody): RespBody<RecentlyHealthBean>


    /**
     * 电子化验单上传
     */
    @POST("customer/assay/save")
    @Multipart
    suspend fun uploadAssay(
        @Part body1: MutableList<MultipartBody.Part>,
        @Part body2: MutableList<MultipartBody.Part>,
        @Part body3: MutableList<MultipartBody.Part>,
        @Part body4: MutableList<MultipartBody.Part>,
        @Part body5: MutableList<MultipartBody.Part>,
        @Part body6: MutableList<MultipartBody.Part>,
    ): RespBody<String>

    /**
     * 血压信息上传
     */
    @POST("customer/dbp/saveDbp")
    suspend fun uploadDbpInfo(@Body rb: RequestBody): RespBody<String>

    /**
     * 血糖信息上传
     */
    @POST("customer/clu/save")
    suspend fun uploadCluInfo(@Body rb: RequestBody): RespBody<String>

    /**
     * 用药信息上传
     */
    @POST("customer/drug/save")
    @Multipart
    suspend fun uploadDrugInfo(
        @Part file: MutableList<MultipartBody.Part>
    ): RespBody<String>

    /**
     * 获取首席专家列表
     */
    @POST("customer/expert/expertInfoList")
    suspend fun getExpertList(@Body rb: RequestBody): RespBody<PaingBean<ExpertBean>>

    /**
     * 管家列表获取
     *  0 一个  1 多个
     */
    @HTTP(method = "GET", path = "customer/steward/list/{type}")
    suspend fun getSteward(@Path("type") type: String): RespBody<MutableList<KeeperBean>>

    /**
     * 完善用户信息
     */
    @POST("customer/user/update")
    suspend fun setUpdateUser(@Body rb: RequestBody): RespBody<NotAccepted>

    /**
     * 查询用户信息
     */
    @GET("customer/index/setup")
    suspend fun getUseInfo(@Query("id") userId: String?): RespBody<SettingBean>

    /**
     * 我的设置
     */
    @GET("customer/index/setup")
    suspend fun getMySetting(): RespBody<SettingBean>

    /**
     * 绑定微信
     */
    @GET("customer/bindWeiXin")
    suspend fun bindWx(@Query("code") openId: String): RespBody<Any>

    /**
     *获取预约时间段
     */
    @HTTP(method = "GET", path = "customer/reservation/{id}")
    suspend fun getTimeReservation(@Path("id") id: String): RespBody<OnLineTime>

    /**
     * 返回当天不可预约的时间
     */
    @GET("customer/reservation/order")
    suspend fun getNowDataEnable(
        @Query("id") id: String,
        @Query("date") date: String
    ): RespBody<MutableList<EnableTime>>

    /**
     *获取预约时间段
     */
    @POST("customer/reservation/save")
    suspend fun addReservation(@Body rb: RequestBody): RespBody<String>

    /**
     * 我的预约  orderStatus 2，待确认3，已确认，4，已拒绝，7，已过期
     */
    @POST("customer/reservation/list")
    suspend fun getAppointment(@Body rb: RequestBody): RespBody<MutableList<AppointmentNewBean>>


    /**
     * 获取病史
     */
    @GET("customer/user/disease")
    suspend fun getMedicHistory(): RespBody<MutableList<MedicBean>>


    /**
     * 设备激活
     */
    @POST("customer/user/activate")
    @Multipart
    suspend fun activite(
        @Part file: MultipartBody.Part,
        @Part("deviceCode") num: RequestBody,
        @Part("activationCode") code: RequestBody,
        @Part("bluetooth") mac: RequestBody,
        @Part("watchName") devName: RequestBody,
    ): RespBody<NotAccepted>

    /**
     * 退出登陆
     */
    @GET("customer/logout")
    suspend fun logOut(): Any

    /**
     * 我的家人列表
     */
    @POST("customer/family/list")
    suspend fun getMyFamily(@Body rb: RequestBody): RespBody<MutableList<FamilyBean>>

    @POST("customer/index/getWeather")
    suspend fun getWeather(@Body rb: RequestBody): RespBody<WeatherBean>

    /**
     * 关联家人
     */
    @POST("customer/family/relevancy")
    suspend fun bindDev(@Body rb: RequestBody): RespBody<String>

    /**
     * 关联家人的详细信息
     */
    @POST("customer/family/familyInfo")
    suspend fun getFriendInfo(@Body rb: RequestBody): RespBody<FriendInfo>

    /**
     * 日报
     */
    @POST("customer/report")
    suspend fun getReport(@Body rb: RequestBody): RespBody<ReportBean>

    /**
     * 日报 新
     */
    @POST("customer/report/getInfo")
    suspend fun getReportInfo(@Body rb: RequestBody): RespBody<ReportBean>

    /**
     * 24小时报告
     */
    @POST("customer/report/twentyFourHoursReport")
    suspend fun get24HourReportInfo(@Body rb: RequestBody): RespBody<ReportBean>

    /**
     * 日报平均值
     */
    @POST("customer/report/percentage")
    suspend fun getReportAvg(@Body rb: RequestBody): RespBody<ReportAvgBean>

    /**
     * 日报平均值
     */
    @POST("customer/report/percentageNew")
    suspend fun getReportAvgNew(@Body rb: RequestBody): RespBody<ReportAvgBean>

    /**
     * 综合分析
     */
    @POST("customer/analyse/analysis")
    suspend fun getAnalyse(@Body rb: RequestBody): RespBody<AnalysisBean>

    /**
     * 删除家人
     */
    @HTTP(method = "DELETE", path = "customer/family/{id}")
    suspend fun familyCancel(@Path("id") id: String): RespBody<String>

    /**
     * 修改家人称呼
     */
    @POST("customer/family/update")
    suspend fun changeFamilyNickName(@Body rb: RequestBody): RespBody<String>

    /**
     * 关系列表
     */
    @GET("customer/family/relation")
    suspend fun getFamilyRelationList(): RespBody<MutableList<RelationList>>

    /**
     * 保存体脂秤记录
     */
    @POST("customer/device/savePbfRecord")
    suspend fun savePbfRecord(@Body rb: RequestBody): RespBody<Any>

    /**
     * 版本更新
     */
    @HTTP(method = "GET", path = "customer/version/{id}")
    suspend fun getVersionNew(@Path("id") id: Int): RespBody<Update>

    /**
     * 欢迎语
     */
    @HTTP(method = "GET", path = "customer/index/welcome/{id}")
    suspend fun getWelconmInfo(@Path("id") id: String): RespBody<WelcomeBean>

    /**
     * 信息上传 整体打包上传
     */
    @POST("customer/watchHistory/save")
    suspend fun uploadAllInfo(@Body rb: RequestBody): RespBody<NotAccepted>

    /**
     *  获取用户协议 隐私政策  管家协议 等
     */
    @GET("customer/operation/agreement")
    suspend fun getPrev(@Query("type") type: Int): RespBody<PrevBean>

    /**
     *  获取操作指南列表
     */
    @GET("customer/operation/list")
    suspend fun getGuideList(): RespBody<MutableList<GuidBean>>

    /**
     *  获取操作指南列表
     */
    @HTTP(method = "GET", path = "customer/operation/{id}")
    suspend fun getGuideDetail(@Path("id") id: String): RespBody<String>

    /**
     * 意见反馈上传
     */
    @POST("customer/feed/save")
    @Multipart
    suspend fun uploadFeed(
        @Part list: MutableList<MultipartBody.Part>,
        @Part("content") content: RequestBody,
        @Part("userId") userId: RequestBody,
        @Part("createBy") createBy: RequestBody,
        @Part("userType") userType: RequestBody
    ): RespBody<String>

    /**
     * 获取意见反馈列表
     */
    @POST("customer/feed/list")
    suspend fun getFeedBackList(@Body rb: RequestBody): RespBody<PaingBean<FeedBackBean>>

    /**
     * 删除意见反馈
     */
    @POST("customer/feed/delete")
    suspend fun deleteFeedBack(@Body rb: RequestBody): RespBody<Any>

    /**
     *  我的方案 1:最新方案 2:历史方案
     */
    @POST("customer/programme/list")
    suspend fun getProg(@Body rb: RequestBody): RespBody<MutableList<ProgrammeBean>>

    /**
     *  获取问卷调查列表
     */
    @GET("customer/question/list")
    suspend fun getQuestList(): RespBody<QuestBean>

    /**
     * 提交问卷
     */
    @POST("customer/question/save")
    suspend fun submitQuest(@Body rb: RequestBody): RespBody<String>

    /**
     * 问卷解析列表
     */
    @POST("customer/question/reportList")
    suspend fun getAnswerList(@Body rb: RequestBody): RespBody<MutableList<AnswerBean>>

    /**
     * 心理测试问卷列表
     */
    @POST("customer/surveys/list")
    suspend fun getPsychologicalList(@Body rb: RequestBody):RespBody<PsychologicalListBean>

    /**
     * 问卷结论
     */
    @GET("customer/surveys/answerSummarize")
    suspend fun getPsychologicalResult(@Query("answerId") answerId:String):RespBody<PsychologicalResultBean>
    /**
     * 设备解绑
     */
    @GET("customer/user/unbind")
    suspend fun unBindDev(): RespBody<String>

    /**
     * 注销账号
     */
    @GET("customer/logoutUser")
    suspend fun destAccount(@Query("id") id: String): RespBody<Any>

    /**
     * 换绑手机号
     */
    @GET("customer/updatePhone")
    suspend fun changeBindPhone(
        @Query("phone") phone: String,
        @Query("code") code: String
    ): RespBody<String>

    /**
     * 问卷调查过期查询
     */
    @GET("customer/question/days")
    suspend fun getQuestTime(): RespBody<Boolean>

    /**
     * 电子化验单列表
     */
    @POST("customer/assay/list")
    suspend fun getElectronicList(@Body rb: RequestBody): RespBody<MutableList<EleTestBean>>

    /**
     * 血压历史数据
     */
    @POST("customer/dbp/list")
    suspend fun getBloodList(@Body rb: RequestBody): RespBody<PaingBean<BloodBean>>

    /**
     * 血糖历史数据
     */
    @POST("customer/clu/list")
    suspend fun getCluList(@Body rb: RequestBody): RespBody<PaingBean<BloodBean>>

    /**
     * 用药历史数据
     */
    @POST("customer/drug/list")
    suspend fun getMedicList(@Body rb: RequestBody): RespBody<MutableList<MedicalBean>>

    /**
     * 删除用药信息
     */
    @POST("customer/drug/delete")
    suspend fun deleteMedic(@Body rb: RequestBody): RespBody<Any>

    /**
     * 删除血糖信息
     */
    @POST("customer/clu/delete")
    suspend fun deleteClu(@Body rb: RequestBody): RespBody<Any>

    /**
     * 删除血压信息
     */
    @POST("customer/dbp/delete")
    suspend fun deleteBlood(@Body rb: RequestBody): RespBody<Any>

    /**
     * 删除电子化验单
     */
    @POST("customer/assay/delete")
    suspend fun deleteEle(@Body rb: RequestBody): RespBody<Any>

    /**
     * 30天预警
     */
    @POST("customer/question/disease")
    suspend fun getEarlyWarring(@Body rb: RequestBody): RespBody<MutableList<WarringBean>>

    /**
     * 30天预警 数据描述
     */
    @POST("customer/question/diseaseTwo")
    suspend fun earlyDesc(@Body rb: RequestBody): RespBody<WarringBean>

    /**
     * 获取问卷的详细内容
     */
    @POST("customer/question/report")
    suspend fun getQuestDetail(@Body rb: RequestBody): RespBody<QuestDetailBean>


    /**
     * 获取历史版本
     */
    @POST("customer/version/list")
    suspend fun getVersionList(@Body rb: RequestBody): RespBody<MutableList<VersionBean>>

    /**
     * 健康建议
     */
    @POST("customer/analyse/guide")
    suspend fun getHealthAgree(@Body rb: RequestBody): RespBody<MutableList<ProposalBean>>


    /**
     * 健康科普
     */
    @GET("customer/analyse/coupeNew")
    suspend fun getScinceList(): RespBody<MutableList<ScienceBean>>
    /**
     * 健康科普详情
     */
    @GET("customer/analyse/coupeDetail")
    suspend fun getScinceDetail(@Query("id") id: String):RespBody<ScienceBean>

    /**
     * 获取首页布局
     */
    @POST("customer/layout/list")
    suspend fun getHomeLayout():RespBody<HomeLayoutBean>

    @POST("customer/layout/getVideoDoctorType")
    suspend fun getVideoDoctorType():RespBody<VideoDoctorBean>

    /**
     * 膳食分析-热卡分析
     */
    @POST("customer/meals/foodRecognize")
    @Multipart
    suspend fun foodRecognize(@Part file: MultipartBody.Part,
                              @Part("type") type: RequestBody): RespBody<MutableList<FoodRecoginzeInfo>>

    /**
     * 关于
     */
    @GET("customer/operation/about")
    suspend fun getAbout(): RespBody<MutableList<AboutBean>>

    /**
     * 我的机构
     */
    @GET("customer/user/getUserAuthCode")
    suspend fun getUserAuthCode(): RespBody<MyOrganCodeBean>

    /**
     * 绑定机构授权码
     */
    @GET("customer/user/bindAuthCode")
    suspend fun bindAuthCode(@Query("authCode") authCode: String): RespBody<BindRespone>

    /**
     * 绑定设备
     */
    @POST("customer/user/bind")
    suspend fun binderDevice(@Body rb: RequestBody) : RespBody<Any>

    /**
     * 解绑机构
     */
    @GET("customer/user/unBindAuthCode")
    suspend fun unBindAuthCode(): RespBody<MutableList<String>>

    /**
     * 积分
     */
    @POST("customer/integral/pageList")
    suspend fun getScore(@Body rb: RequestBody): RespBody<ScoreBean>

    /**
     * 心电信息上传
     */
    @POST("customer/watchCvrr/saveCvrr")
    suspend fun uplopadXd(@Body rb: RequestBody): RespBody<String>

    /**
     * 心电历史记录获取
     */
    @POST("customer/watchEcg/list")
    suspend fun getXdHistory(@Body rb: RequestBody): RespBody<MutableList<XdInfoBean>>

    /**
     * 获取mqtt配置信息
     */
    @GET("customer/server/config")
    suspend fun getMqttInfo(): RespBody<MqTTBean>

    /**
     * 排行榜
     */
    @HTTP(method = "GET", path = "customer/analyse/rank/{type}")
    suspend fun getRankList(@Path("type") type: String): RespBody<RankBean>

//

    /**
     * 步数排行榜新
     */
    @HTTP(method = "GET", path = "customer/step/rankNew")
    suspend fun getStepRankList(
        @Query("type") type: String,
        @Query("userId") userId: String
    ): RespBody<RankBean>

    /**
     * 聊天记录
     */
    @POST("customer/message/getDialogues")
    suspend fun getChatList(@Body rb: RequestBody): RespBody<MutableList<ChatBean>>

    /**
     * 保存消息
     */
    @POST("customer/api/saveTraineeMessageprocess")
    suspend fun saveChat(@Body rb: RequestBody): RespBody<ChatBean>

    /**
     * 保存消息 附件类型
     */
    @POST("customer/message/upload/media")
    @Multipart
    suspend fun saveChatMedia(
        @Part file: MultipartBody.Part,
        @Part("messageId") msgId: RequestBody,
        @Part("fileType") fileType: RequestBody,
        @Part("toUserId") toUSerId: RequestBody,
        @Part("createUserId") fromUserId: RequestBody,
        @Part("type") type: RequestBody,
        @Part("fileLength") fileLength: RequestBody,
    ): RespBody<String>

    /**
     * 音乐列表
     */
    @GET("customer/operation/music")
    suspend fun getMusicList(): RespBody<MutableList<MusicBean>>

    /**
     * 我的消息列表
     */
    @POST("customer/message")
    suspend fun getMessageList(@Body rb: RequestBody): RespBody<MessageBean>

    @POST("customer/message/messageList")
    suspend fun getMessageListForType(@Body rb: RequestBody):RespBody<MessageTypeDataBean>

    /**
     * 我的预警消息
     */
    @POST("customer/warningMessage")
    suspend fun getWarningMsgList(@Body rb: RequestBody): RespBody<MessageBean>

    /**
     * 消息已读
     */
    @POST("customer/updateStatus")
    suspend fun readMsg(@Body rb: RequestBody): RespBody<Any>

    /**
     * 批量删除消息
     */
    @POST("customer/message/deleteMsg")
    suspend fun deleteMsgs(@Body ids: RequestBody): RespBody<Any>

    /**
     * 删除消息
     */
    @GET("customer/remove")
    suspend fun deleteMsg(@Query("id") id: String): RespBody<Any>

    /**
     * 未读消息总数
     */
    @GET("customer/message/unReadCount")
    suspend fun getNotReadCount(): RespBody<UnReadMessageBean>

    /**
     * 添加积分
     */
    @GET("customer/integral/save")
    suspend fun saveScore(): RespBody<Any>

    /**
     * 签到
     */
    @GET("customer/signIn/save")
    suspend fun sign(): RespBody<Any>

    /**
     * 心电信息上传
     */
    @POST("customer/watchEcg/save")
    @Multipart
    suspend fun uploadXmInfo(
        @Part part: MultipartBody.Part,
        @Part("hrvData") type: RequestBody,
        @Part("hrData") hrData: RequestBody,
        @Part("dbpData") dbpData: RequestBody,
        @Part("state") state: RequestBody,
    ): RespBody<String>

    /**
     * 心电信息上传
     */
    @HTTP(method = "GET", path = "customer/watchEcg/listName/{type}")
    suspend fun getXdDesc(@Path("type") type: String): RespBody<XdBean>

    /**
     * 血压校准
     */
    @POST("customer/watchDbp/calibration")
    suspend fun calibration(@Body rb: RequestBody): RespBody<CalibrationBean>

    /**
     * 血压校准记录
     */
    @POST("customer/watchDbp/calibrationAll")
    suspend fun calibrationHistory(@Body rb: RequestBody): RespBody<MutableList<BloodHistoryBean>>

    /**
     * 血压校准记录新接口
     */
    @POST("customer/watchDbp/getDbpCalibrationRecord")
    suspend fun calibrationHistoryNew(@Body rb: RequestBody): RespBody<PaingBean<BloodHistoryNewBean>>

    /**
     * 血糖校准记录新接口
     */
    @POST("customer/bloodsugar/getBloodCalibrationRecord")
    suspend fun calibrationSugarHistoryNew(@Body rb: RequestBody): RespBody<PaingBean<BloodSugarNewbean>>

    /**
     * 重新签名
     */
    @POST("customer/user/signature")
    @Multipart
    suspend fun againSing(@Part file: MultipartBody.Part): RespBody<Any>


    /****微信官方请求****/
    //获取登陆token
    @GET
    suspend fun getWxToken(@Url url: String): WxTokenBean

    //获取 微信个人信息
    @GET
    suspend fun getWxInfo(@Url url: String): WxInfoBean

    /**
     * 血糖上传
     */
    @POST("customer/bloodsugar/save")
    suspend fun xtUpload(@Body rb: RequestBody): RespBody<String>

    /**
     * 血糖开通/续费（旧）
     */
    @POST("customer/bloodsugar/open")
    suspend fun xtOpen(@Body rb: RequestBody): RespBody<XTangOpenBean>

    /**
     * 血糖尿酸血脂续费（新）
     */
    @POST("pay/payFunctionOrder")
    suspend fun renewOpen(@Body rb: RequestBody): RespBody<OpenOrRenewBean>

    /**
     * 血糖首次开通
     */
    @POST("customer/bloodsugar/firstOpen")
    suspend fun xueTangFirstOpen(@Body rb: RequestBody): RespBody<FirstOpenBean>

    /**
     * 尿酸首次开通
     */
    @POST("customer/uricAcid/firstOpen")
    suspend fun niaoSuanFirstOpen(@Body rb: RequestBody): RespBody<FirstOpenBean>

    /**
     * 血糖信息获取
     */
    @POST("customer/bloodsugar/selectNow")
    suspend fun getXtInfo(@Body rb: RequestBody): RespBody<XTangInfoBean>

    /**
     * 血糖详情获取
     */
    @POST("customer/bloodsugar/selectHistory")
    suspend fun getXtInfoDetail(@Body rb: RequestBody): RespBody<MutableList<XTangInfoDetailBean>>

    /**
     * 血糖详情获取
     */
    @POST("customer/bloodsugar/findNowNew")
    suspend fun getXtFindNew(@Body rb: RequestBody): RespBody<XtNewBean>

    /**
     * 血红蛋白信息获取
     */
    @GET("customer/bloodsugar/hemoglobin")
    suspend fun getBloodSugarInfo(@Query("userId") userId: String): RespBody<XTangInfoBean>

    /**
     * 血红蛋白详情获取
     */
    @POST("customer/bloodsugar/hemoglobin")
    suspend fun getBloodSugarDetail(@Body rb: RequestBody): RespBody<MutableList<XTangInfoDetailBean>>

    /**
     * 血糖历史信息获取
     */
    @POST("customer/bloodsugar/historyModel")
    suspend fun getXtHistory(@Body rb: RequestBody): RespBody<MutableList<XTangHistoryBean>>

    /**
     * 血糖数据时间上传区间
     */
    @GET("customer/bloodsugar/selecttimequantum")
    suspend fun getXtSection(@Query("userId") userId: Long): RespBody<MutableList<XTangSectionBean>>


    @POST("user/operate/save")
    suspend fun saveLog(@Body rb: RequestBody): RespBody<Any>

    /**
     * 佩戴设置列表
     */
    @GET("lite/lite4G/list")
    suspend fun wearManagerList(): RespBody<WearManagerBean>

    /**
     * 短信设置列表
     */
    @GET("customer/smsInform/list")
    suspend fun smsList(): RespBody<SmsBean>

    /**
     * 短信开关设置
     */
    @POST("customer/smsInform/setting")
    @Multipart
    suspend fun smsSetting(
        @Part file: MultipartBody.Part,
        @Query("type") type: Int,
        @Query("state") state: Int
    ): RespBody<Any>

    /**
     * 短信开关设置
     */
    @POST("customer/smsInform/setting")
    suspend fun smsSetting(@Query("type") type: Int, @Query("state") state: Int): RespBody<Any>

    /**
     * 4G手表设置
     * @param type 0：勿扰 1：喝水 2：久坐 3，血氧，4，体温
     * @param state 0:开启 1:关闭
     */
    @GET("lite/lite4G/lite4GSetting")
    suspend fun lite4GSetting(
        @Query("type") type: Int,
        @Query("state") state: Int
    ): RespBody<Any>

    /**
     * 4G手表亮度设置
     * @param type 0:节能 1:均衡 2：高亮
     * @return
     */

    @GET("lite/lite4G/lightSetting")
    suspend fun lightSetting(
        @Query("type") type: Int,
        @Query("state") state: Int
    ): RespBody<Any>


    /**
     * 4G手表熄屏时间设置
     * @param type 0:5秒 1:10秒 2：15秒 3:30秒
     * @return
     */
    @GET("lite/lite4G/screenSetting")
    suspend fun screenSetting(
        @Query("type") type: Int,
        @Query("state") state: Int
    ): RespBody<Any>

    /**
     * 4G手表用药提醒设置
     * @param medication
     */
    @POST("lite/lite4G/useMedicineSetting")
    suspend fun useMedicineSetting(@Body rb: RequestBody): RespBody<Any>


    /**
     * 运动目标提醒
     * @param state 0:开启 1:关闭
     * @param value 步数
     */
    @GET("lite/lite4G/sportSetting")
    suspend fun sportSetting(
        @Query("state") state: Int,
        @Query("value") value: Int
    ): RespBody<Any>

    /**
     * 心率预警提醒
     * @param state 0:开启 1:关闭
     * @param hrState 0:过速 1：过缓 2：运动
     * @param value 心率值
     * @param times  提醒次数
     * @param intervalTime 提醒间隔时间
     */
    @GET("lite/lite4G/heartRateSetting")
    suspend fun heartRateSetting(
        @Query("state") state: Int,
        @Query("hrState") hrState: Int,
        @Query("value") value: Int,
        @Query("times") times: Int,
        @Query("intervalTime") intervalTime: Int
    ): RespBody<Any>

    /**
     * 绑定设备SN号
     */
    @POST("customer/device/bind")
    suspend fun bindDevSn(@Body rb: RequestBody): RespBody<String>

    /**
     * 获取体脂秤数据详情
     */
    @GET("customer/device/findPbfInfo")
    suspend fun getPbfInfo( @Query("id") state: String):RespBody<BodyFatHistoryBean>


    /**
     * 获取绑定列表
     */
    @POST("customer/device/bindList")
    suspend fun getBindDevList(@Body rb: RequestBody): RespBody<MutableList<BindDeviceListBean>>

    /**
     * 保存用户基本信息
     */
    @POST("customer/device/saveUserBaseInfo")
    suspend fun saveUserInfo(@Body rb: RequestBody): RespBody<Any>

    /**
     * 获取用户基本信息
     */
    @GET("customer/device/findUserBaseInfo")
    suspend fun getUserInfo(@Query("userId") userId: String): RespBody<BodyFatUserBean>

    /**
     * 获取首页系统消息
     */
    @POST("customer/message/index")
    suspend fun getSystemMsg():RespBody<SystemMsgDataResp>

    /**
     * 设置消息已读
     */
    @POST("customer/message/setMessageRead")
    suspend fun setMessageRead(@Body rb: RequestBody): RespBody<Any>

    @POST("customer/message/setAllMessageRead")
    suspend fun setMessageReadAll(): RespBody<Any>

    /**
     * 解绑设备SN号
     */
    @POST("customer/device/unBind")
    suspend fun unBindDevSn(@Body rb: RequestBody): RespBody<String>

    /**
     * 删除物联网设备数据
     */
    @GET("customer/device/delete")
    suspend fun deleteDevicesDatas(@Query("ids") id: String): RespBody<Any>

    /**
     * 删除体脂秤数据
     */
    @GET("customer/device/deletePbf")
    suspend fun deleteBodyFatDatas(@Query("ids") id: String): RespBody<Any>

    /**
     * 体脂秤测量记录列表
     */
    @POST("customer/device/pbfRecordList")
    suspend fun getBodyFatHistoryList(@Body rb: RequestBody): RespBody<PaingBean<BodyFatHistoryBean>>

    /**
     * 测量记录列表
     */
    @POST("customer/device/recordList")
    suspend fun getHistoryList(@Body rb: RequestBody): RespBody<PaingBean<BindDevHistoryBean>>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataUricAcid(@Body rb: RequestBody): RespBody<UricAcidExcpBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataBloodFat(@Body rb: RequestBody): RespBody<BloodFatExcpBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataXY(@Body rb: RequestBody): RespBody<XYBloodPressureBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataXL(@Body rb: RequestBody): RespBody<XLHeartRateBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataHXL(@Body rb: RequestBody): RespBody<HXLBreathingRateBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataTW(@Body rb: RequestBody): RespBody<TWTemperatureBean>

    @POST("customer/report/getWatchAbnormalData")
    suspend fun getWatchAbnormalDataXO(@Body rb: RequestBody): RespBody<XYBloodOxygenBean>

    @GET("butler/programme/findById")
    suspend fun findById(@Query("id") id: String): RespBody<ProgrammeBean>

    /**
     * 测量记录列表
     */
    @GET("customer/watchDbp/learnList")
    suspend fun getRecordList(): RespBody<MutableList<XueyaRecordListBean>>

    /**
     * 提交
     */
    @POST("customer/watchDbp/learnSave")
    suspend fun createStudyRecord(@Body rb: RequestBody): RespBody<String>

    /**
     * 周、月、睡眠时间
     */
    @POST("customer/sleep/findSleepTotal")
    suspend fun getStatisticSleepList(@Body rb: RequestBody): RespBody<SleepStatistcBean>

    /**
     * 支付接口
     */
    @POST("pay/payAiTumorOrder")
    suspend fun payUrl(@Body rb: RequestBody): RespBody<PayBean>

    /**
     * 拉起支付
     */
    @POST("pay/toPay")
    suspend fun toPay(@Body rb: RequestBody):RespBody<PayBean>

    /**
     * 标准均衡饮食
     */
    @POST("customer/meals/balanceDiet")
    suspend fun getBalanceDiet():RespBody<BalanceDietBean>

    /**
     * 获取健康档案数据
     */
    @POST("customer/user/getHealthArchive")
    suspend fun getHealthArchive():RespBody<HealthArchiveBean>

    /**
     * 获取报告记录
     */
    @POST("customer/reportData/list")
    suspend fun getHealthReportList(@Body rb: RequestBody):RespBody<HealthReportListBean>

    /**
     * 添加报告记录
     */
    @POST("customer/reportData/add")
    suspend fun submitHealthReport(@Body rb: RequestBody):RespBody<Any>

    /**
     * 健康医典-获取数据
     */
    @GET("customer/medical/getBody")
    suspend fun getAllBody():RespBody<MutableList<HealthBodyBean>>

    /**
     * 健康医典-医典详情
     */
    @GET("customer/medical/getMedicalInfo")
    suspend fun getInquiryInfo(@Query("refId") id:Long ):RespBody<InquiryInfoDetailBean>

    @GET("customer/medical/getRefiningName")
    suspend fun getRefiningName(@Query("medId") id:Long):RespBody<MutableList<HealthBodyPartBean>>


    /**
     * 商品信息接口
     */
    @POST("customer/tumor/order/getTumorGoods")
    suspend fun getPayGood(@Body rb: RequestBody): RespBody<PayGoodsBean>

    /**
     * 上传之情同意书签名
     */
    @POST("customer/tumor/order/uploadSignature")
    suspend fun uploadSign(@Body rb: RequestBody): RespBody<Any>

    /**
     * 上传检验单
     */
    @POST("customer/tumor/order/uploadImages")
    suspend fun uploadImages(@Body rb: RequestBody): RespBody<Any>

    /**
     * 上传检验单
     */
    @POST("upload/uploadFileNew")
    @Multipart
    suspend fun uploadImageFile(@Part body1: MultipartBody.Part): RespBody<ImageBean>

    /**
     * 上传检验单
     */
    @POST("upload/UploadFileMultiple")
    @Multipart
    suspend fun uploadImagesFile(@Part body1: MutableList<MultipartBody.Part>): RespBody<MutableList<String>>


    @POST("customer/order/orderPageList")
    suspend fun getOrderList(@Body rb: RequestBody):RespBody<PaingBean<CancerGoodsBean>>

    @POST("customer/sugarMedicine/orderList")
    suspend fun getSugarMedicineOrderList(@Body rb: RequestBody):RespBody<MutableList<CancerGoodsBean>>

    @POST("customer/tumor/order/orderList")
    suspend fun getEstimateRecord(@Body rb: RequestBody): RespBody<MutableList<CancerGoodsBean>>

    @POST("customer/tumor/order/saveReservationInfo")
    suspend fun saveInfo(@Body rb: RequestBody): RespBody<Any>

    @POST("customer/tumor/order/reservationList")
    suspend fun getCollectBloodList(@Body rb: RequestBody): RespBody<PaingBean<CollectBloodBean>>

    /*舌诊模块*/
    //AI舌诊支付下单
    @POST("pay/payTongueOrder")
    suspend fun payTongueOrder(@Body rb: RequestBody): RespBody<PayBean>

    //舌诊订单列表
    @POST("customer/tongue/order/orderList")
    suspend fun tongueOrderList(@Body rb: RequestBody): RespBody<MutableList<CancerGoodsBean>>

    //获取舌诊商品
    @POST("customer/tongue/order/getTongueGoods")
    suspend fun getTongueGoods(): RespBody<PayGoodsBean>

    /**
     * AI 糖医
     */
    @POST("customer/sugarMedicine/getSugarMedicineGoods")
    suspend fun getAISugarMedicineGoods():RespBody<PayGoodsBean>

    /**
     * AI 糖医支付
     */
    @POST("pay/paySugarMedicineOrder")
    suspend fun payAISugarMedicineOrder(@Body rb: RequestBody): RespBody<PayBean>

    //上传信息
    @POST("customer/tongue/order/updateOrder")
    suspend fun updateTongueOrder(@Body rb: RequestBody): RespBody<Any>

    //是否有未完成的订单
    @POST("customer/tongue/order/hasNoFinishOrder")
    suspend fun tongueHasNoFinishOrder(@Body rb: RequestBody): RespBody<Boolean>

    //获取单个订单信息
    @POST("customer/tongue/order/findOrderInfo")
    suspend fun tongueGetOrderInfo(@Body rb: RequestBody): RespBody<CancerGoodsBean>

    //提交问诊信息
    @POST("customer/tongue/order/tongueInquiry")
    suspend fun tongueInquiry(@Body rb: RequestBody): RespBody<Any>


    @GET("customer/tumor/order/deleteImage")
    suspend fun deleteImage(@Query("imageId") id: Long): RespBody<Any>

    @GET("customer/tumor/order/deleteAllImages")
    suspend fun deleteImages(@Query("orderNo") code: String): RespBody<Any>

    @GET("customer/tumor/order/deleteAnswer")
    suspend fun deleteQuestion(@Query("orderNo") code: String): RespBody<Any>

    @POST("customer/tumor/order/reservationList")
    suspend fun getHealthData(@Body rb: RequestBody): RespBody<PaingBean<CollectBloodBean>>

    /**
     * 数据上传
     */
    @POST("customer/healthData/list")
    suspend fun getHealthDataList(@Body rb: RequestBody): RespBody<PaingBean<HealthDataBean>>

    @POST("customer/healthData/add")
    suspend fun addHealthData(@Body rb: RequestBody): RespBody<Any>

    @POST("customer/healthData/edit")
    suspend fun editHealthData(@Body rb: RequestBody): RespBody<Any>

    @GET("customer/healthData/delete")
    suspend fun deleteHealthData(@Query("ids") id: String): RespBody<Any>

    @POST("customer/healthData/addCheckFileData")
    suspend fun addHealthFileData(@Body rb: RequestBody): RespBody<Any>

    @POST("customer/healthData/checkFileList")
    suspend fun getHealthFileData(@Body rb: RequestBody): RespBody<PaingBean<MedicalDataBean>>

    @POST("customer/healthData/editCheckFileData")
    suspend fun editHealthFileData(@Body rb: RequestBody): RespBody<Any>

    @GET("customer/healthData/deleteFiles")
    suspend fun deleteHealthCheckFiles(@Query("ids") id: String): RespBody<Any>

    @GET("customer/tumor/order/isCanReservation")
    suspend fun isCanReservation(): RespBody<String>

    @POST("customer/healthData/findComparData")
    suspend fun getTendencyData(@Body rb: RequestBody): RespBody<DataManageTendencyBean>

    @POST("customer/healthData/findComparData")
    suspend fun getTendencyDataByBloodLipid(@Body rb: RequestBody): RespBody<BloodLipidDataBean>

    @POST("customer/healthData/findNewList")
    suspend fun getRecentlyHealth(@Body rb: RequestBody): RespBody<RecentlyHealthBean>

    /**
     * 尿酸开通
     */
    @POST("customer/uricAcid/open")
    suspend fun nsOpen(@Body rb: RequestBody): RespBody<NSuanOpenBean>

    /**
     * 尿酸更新用户其他信息
     */
    @POST("customer/uricAcid/updateOtherInfo")
    suspend fun nsUpdataMessage(@Body rb: RequestBody): RespBody<Any>

    /**
     * 获取运动方案列表
     */
    @POST("butler/sports/list")
    suspend fun getSportListNew(@Body rb: RequestBody): RespBody<MutableList<SportBean>>

    /**
     * 新增运动方案
     */
    @POST("butler/sports/addSportsPlan")
    suspend fun addSportPlan(@Body rb: RequestBody): RespBody<String>

    /**
     * 课前体征数据
     */
    @POST("butler/sports/beforeWatchData")
    suspend fun beforeWatchData(@Body rb: RequestBody): RespBody<WatchData>

    /**
     * 课程数据查询
     */
    @GET("butler/sports/findSportsPlanDetail")
    suspend fun findSportsPlanDetail(@Query("id") id: String): RespBody<SportDetail>

    /**
     * 修改运动方案状态
     */
    @POST("butler/sports/udpateSportsStatus")
    suspend fun udpateSportsStatus(@Body rb: RequestBody): RespBody<String>

    /**
     * 修改运动方案
     */
    @POST("butler/sports/updateSportsPlan")
    suspend fun updateSportsPlan(@Body rb: RequestBody): RespBody<String>

    /**
     *   提提交运动结果
     */
    @POST("butler/sports/submitResult")
    suspend fun submitResult(@Body rb: RequestBody): RespBody<String>

    /**
     * 身体数据列表
     */
    @POST("customer/somaticData/list")
    suspend fun bodyInfoList(@Body rb: RequestBody): RespBody<PaingBean<BodyInfo>>

    /**
     * 数据对比
     */
    @POST("customer/somaticData/findComparData")
    suspend fun findComparData(@Body rb: RequestBody): RespBody<CompareBean>

    /**
     * 数据添加
     */
    @POST("customer/somaticData/add")
    suspend fun addBodyInfo(@Body rb: RequestBody): RespBody<String>

    /**
     * 数据修改
     */
    @POST("customer/somaticData/edit")
    suspend fun editBodyInfo(@Body rb: RequestBody): RespBody<String>

    /**
     * 数据删除
     */
    @GET("customer/somaticData/delete")
    suspend fun deleteBodyInfo(@Query("ids") id: String): RespBody<String>

    /**
     * 获取用户设备信息
     */
    @POST("customer/user/getUserDeviceInfo")
    suspend fun getUserEquipmentInformationization(@Body rb: RequestBody): RespBody<UserEquipmentInformationizationBean>

    /**
     * 获取用户积分情况
     */
    @GET("customer/integral/getUserIntegralInfo")
    suspend fun getUserIntegralInfo(@Query("userId") userId: String): RespBody<MutableList<MyIntegralBean>>

    /**
     * （日，周，月，年）分享调佣接口
     */
    @GET("customer/integral/addShareJf")
    suspend fun shareRecord(): RespBody<Any>

    /**
     * 获取血糖、尿酸、血脂价格
     */
    @GET("pay/getFunctionPrice")
    suspend fun getPrice(@Query("type") type: Int): RespBody<PriceBean>

    /**
     * 批量删除血糖校准记录
     */
    @POST("customer/bloodsugar/deleteBloodCalibration")
    suspend fun deleteBloodCalibration(@Query("ids") ids: String): RespBody<Any>

    /**
     * 批量删除血压校准记录
     */
    @POST("customer/watchDbp/deleteDbpCalibration")
    suspend fun deleteDbpCalibration(@Query("ids") ids: String): RespBody<Any>

    /**
     * 批量删除血脂记录
     */
    @GET("customer/bloodfat/delete")
    suspend fun deleteBloodFatRecord(@Query("ids") ids: String): RespBody<Any>

    /**
     * 查询用户邀请列表
     */
    @POST("customer/user/getInviteRecord")
    suspend fun getInviteRecord(@Body rb: RequestBody): RespBody<PaingBean<LnvitationMessageListBean>>

    /**
     * 统计用户邀请个数
     */
    @POST("customer/user/getInviteCount")
    suspend fun getInviteCount(@Body rb: RequestBody): RespBody<String>

    /**
     * 添加家人
     */
    @POST("customer/family/addFamily")
    suspend fun addFamilyGuardian(@Body rb: RequestBody): RespBody<Any>

    /**
     * 家人健康列表
     */
    @POST("customer/family/familyList")
    suspend fun getFamilyList(@Body rb:RequestBody) : RespBody<MutableList<FamilyHealthBean>>

    /**
     * 监护人列表
     */
    @POST("customer/family/getGuardianList")
    suspend fun getFamilyGuardianList(@Body rb:RequestBody) : RespBody<MutableList<FamilyGuardianBean>>

    /**
     * 设置第一监护人
     */
    @POST("customer/family/setFirstGuardian")
    suspend fun setFirstGuardian(@Body rb:RequestBody) : RespBody<Any>

    /**
     * 删除监护人
     */
    @POST("customer/family/deleteGuardian")
    suspend fun deleteGuardian(@Body rb:RequestBody) : RespBody<Any>

    /**
     * 退出监护
     */
    @GET("customer/family/remove")
    suspend fun exitCustody(@Query("id") id: String): RespBody<Any>

    /**
     * 获取手表实时数据
     */
    @POST("customer/watch/realData")
    suspend fun getWatchCurrentTime(@Body rb: RequestBody):RespBody<WatchCurrentTimeBean>

    /**
     * 实时测量
     */
    @POST("customer/watch/realmeas")
    suspend fun measureWatchData(@Body rb: RequestBody):RespBody<Any>

    /**
     * 获取电子围栏
     */
    @POST("customer/watch/getBtfenceList")
    suspend fun getBtFenceList():RespBody<EtFenceListBean>

    /**
     * 设置电子围栏
     */
    @POST("customer/watch/setBtfence")
    suspend fun setBtFence(@Body rb: RequestBody):RespBody<Any>

    /**
     * 删除电子围栏
     */
    @POST("customer/watch/delBtfence")
    suspend fun deleteBtFence(@Body rb: RequestBody):RespBody<Any>


    /**
     * 获取演示模式
     */
    @POST("customer/user/isDemonstrate")
    suspend fun getIsDemonstrate(@Body rb:RequestBody):RespBody<String>

    /**
     * 查询被邀请监护人信息
     */
    @POST("customer/family/findConfirmInfo")
    suspend fun findConfirmInfo(@Body rb:RequestBody):RespBody<InviteCustodyBean>

    /**
     * 确认邀请
     */
    @POST("customer/family/confirmInfo")
    suspend fun confirmInvited(@Body rb:RequestBody):RespBody<Any>
    /**
     * 获取用户权益
     */
    @POST("customer/user/getUserInfo")
    suspend fun getUserOtherInfo():RespBody<UserOtherInfo>

    /**
     * 获取设备型号
     */
    @POST("customer/user/getDeviceTypeList")
    suspend fun getDeviceTypeList(@Body rb:RequestBody):RespBody<MutableList<DeviceBean>>

    /**
     * 企业资料首页
     */
    @POST("customer/material/index")
    suspend fun getEnterpriseInfoHomeList():RespBody<MutableList<EnterpriseInfoHomeBean>>

    /**
     * 企业资料列表
     */
    @POST("customer/material/list")
    suspend fun getEnterpriseInfoForType(@Body rb: RequestBody):RespBody<EnterpriseInfoHomeBean>

    /**
     * 商城分类
     */
    @GET("customer/mall/category/list")
    suspend fun getGoodsCategory(@Query("parentId") parentId:Long):RespBody<MutableList<ShopCategoryBean>>

    /**
     * 商品列表
     */
    @POST("customer/mall/prod/getProdList")
    suspend fun getGoodsList(@Body rb: RequestBody):RespBody<GoodsRecordsBean>

    /**
     * 商城订单
     */
    @POST("customer/mall/order/orderList")
    suspend fun getShopOrderList(@Body rb:RequestBody) : RespBody<ShopOrderListBean>

    /**
     * 订单详情
     */
    @GET("customer/mall/order/getOrderInfo")
    suspend fun getOrderDetail(@Query("orderId") orderId:Long): RespBody<ShopOrderDetailBean>

    /**
     * 创建订单
     */
    @POST("customer/mall/order/createOrder")
    suspend fun createOrder(@Body rb: RequestBody):RespBody<ShopGoodsOrderBean>

    /**
     * 确认收货
     */
    @GET("customer/mall/order/receiptOrder")
    suspend fun receiveGoods(@Query("orderId") orderId:Long) : RespBody<Any>

    /**
     * 取消订单
     */
    @GET("customer/mall/order/cancelOrder")
    suspend fun cancelOrder(@Query("orderId") orderId:Long): RespBody<Any>

    /**
     * 申请退款
     */
    @GET("customer/mall/order/getOrderInfo")
    suspend fun applyReturn(@Query("orderId") orderId:Long):RespBody<Any>

    /**
     * 获取默认地址
     */
    @POST("customer/user/getDefaultAddr")
    suspend fun getDefaultAddress() : RespBody<ChooseAddressBean>

    /**
     * 是否有优惠券
     */
    @POST("customer/user/getIsCoupons")
    suspend fun hasCoupons() : RespBody<Int>
}