package jnpf.cultivate;

import jnpf.cultivate.fallback.FtbCultivateTeachingApiFallback;
import jnpf.model.cultivate.vo.teaching.MyPracticeSummaryVo;
import jnpf.model.cultivate.vo.teaching.SuperiorTeachingSummaryVo;
import jnpf.model.cultivate.vo.teaching.TeachingStoreCountVo;
import jnpf.model.cultivate.vo.teaching.TodaySummaryDataVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 带教api
 */
@FeignClient(name = "jnpf-ftb", fallbackFactory = FtbCultivateTeachingApiFallback.class, path = "/")
public interface FtbCultivateTeachingApi {

    /**
     * 店长界面我的带教统计
     * @param storeId 门店id
     * @return TeachingStoreCountVo
     */
    @GetMapping("app/teachingRecord/storeTeachingCount")
    TeachingStoreCountVo storeTeachingCount(@RequestParam("storeId") String storeId);

    /**
     * App店长界面-今日练习汇总数据
     *
     * @param storeId 查询参数
     * @return 练习汇总数据
     */
    @GetMapping("teachingRecord/app/getTodaySummary")
    TodaySummaryDataVo getTodaySummary(@RequestParam("storeId") String storeId);

    /**
     * 员工界面-上级带教统计
     * @param storeId 门店id
     * @return TeachingStoreCountVo
     */
    @GetMapping("app/teachingRecord/getSuperiorTeachingSummary")
    SuperiorTeachingSummaryVo getSuperiorTeachingSummary(@RequestParam("storeId") String storeId);

    /**
     * 员工界面--我的练习汇总数据
     *
     * @param storeId 查询参数
     * @return 练习汇总数据
     */
    @GetMapping("teachingRecord/app/getMyPracticeSummary")
    MyPracticeSummaryVo getMyPracticeSummary(@RequestParam("storeId") String storeId);
}
