package com.hz.his.feign.service.platform.bi;

import com.hx.resultTool.Result;
import com.hz.his.dto.report.AppointmentVisitVo;
import com.hz.his.dto.report.ConsultantCashReportDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


/**
 * 预约报表
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name = "phiskin-bi-view-user", path = "/bi-view", contextId = "bi-app-report")
public interface BiAppReportService {

    /**
     * 客人到店准时分析报表
     */
    @PostMapping("/report/appointment/store/analysis")
    Result storeAnalysis(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 门店取消概况
     */
    @PostMapping("/report/appointment/shop/cancel")
    Result shopCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 会员各等级取消概况
     */
    @PostMapping("/report/appointment/userLevel/cancel")
    Result userLevelCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 咨询师取消率
     */
    @PostMapping("/report/appointment/consultant/cancel")
    Result consultantCancel(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 门店迟到15分钟以上情况
     */
    @PostMapping("/report/appointment/shop/timediff")
    Result shopTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 各等级迟到15分钟以上人数
     */
    @PostMapping("/report/appointment/userLevel/timediff")
    Result userLevelTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 咨询师迟到率
     */
    @PostMapping("/report/appointment/consultant/timediff")
    Result consultantTimediff(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 门店迟到时间分布
     */
    @PostMapping("/report/appointment/shop/late")
    Result shopLate(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 咨询师当日新增预约概况
     */
    @PostMapping("/report/appointment/consultant/add")
    Result consultantAdd(@RequestBody AppointmentVisitVo appointmentVisitVo);


    /**
     * 咨询师临时改项&增项概况
     */
    @PostMapping("/report/appointment/update/project")
    Result updateProject(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 门店升级VIP(含当日准会员升级)
     */
    @PostMapping("/report/appointment/level/upgrade")
    Result levelUpgrade(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 升级VIP(含当日准会员升级)
     */
    @PostMapping("/report/appointment/up/level")
    Result upLevel(@RequestBody AppointmentVisitVo appointmentVisitVo);

    /**
     * 初诊公众号绑定概况
     */
    @PostMapping("/report/appointment/gzh/binding")
    Result gzhBinding(@RequestBody AppointmentVisitVo appointmentVisitVo);


}