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

import com.lesingle.common.result.PageResult;
import com.lesingle.modules.biz.review.dto.AutoSetAwardsDto;
import com.lesingle.modules.biz.review.dto.BatchSetAwardsDto;
import com.lesingle.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);

    /**
     * 公众端公示列表：仅活动公开且成果已发布；不含报名账号等敏感字段。
     */
    PageResult<Map<String, Object>> getPublicResults(Long contestId, Long page, Long pageSize);

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