package com.crm.custom.service.activity;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.BaseResultWithPagerDto;
import com.crm.rely.backend.core.entity.base.SingleLongEntity;
import com.crm.rely.backend.model.dto.activity.ActivityRaceRankingDto;
import com.crm.rely.backend.model.dto.activity.ActivityRaceRankingProfitCoverDto;
import com.crm.rely.backend.model.entity.activity.ActivityRaceRankingListEntity;
import com.crm.rely.backend.model.entity.activity.ActivityRaceRankingMyEntity;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 比赛排名服务
 *
 * @author y
 * @create 2022/7/22
 */
@FeignClient(name = "ACTIVITY-SERVICE", path = "/custom/service/activity/race/ranking")
public interface ActivityRaceRankingFeignService {

    @PostMapping("/search/list")
    BaseResultWithPagerDto<List<ActivityRaceRankingDto>> searchList(ActivityRaceRankingListEntity entity) throws Exception;

    @PostMapping("/search/list/cover")
    BaseResultWithPagerDto<List<ActivityRaceRankingProfitCoverDto>> searchListCover(ActivityRaceRankingListEntity entity) throws Exception;

    @PostMapping("/search/single")
    BaseResultDto<ActivityRaceRankingDto> searchSingle(SingleLongEntity entity) throws Exception;

    @PostMapping("/search/my")
    BaseResultDto<ActivityRaceRankingDto> searchMy(ActivityRaceRankingMyEntity entity) throws Exception;
}
