package com.competition.modules.biz.review.service;

import com.competition.common.result.PageResult;
import com.competition.modules.biz.review.dto.AutoSetAwardsDto;
import com.competition.modules.biz.review.dto.BatchSetAwardsDto;
import com.competition.modules.biz.review.dto.SetAwardDto;

import java.util.Map;

public interface IContestResultService {

    Map<String, Object> calculateAllFinalScores(Long contestId);

    Map<String, Object> calculateRankings(Long contestId);

    void setAward(Long workId, SetAwardDto dto);

    Map<String, Object> batchSetAwards(Long contestId, BatchSetAwardsDto dto);

    Map<String, Object> autoSetAwards(Long contestId, AutoSetAwardsDto dto);

    void publishResults(Long contestId);

    void unpublishResults(Long contestId);

    PageResult<Map<String, Object>> getResults(Long contestId, Long page, Long pageSize, String workNo, String accountNo);

    Map<String, Object> getResultsSummary(Long contestId);
}
