package com.vote.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vote.system.domain.VoteSubmission;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vote.system.domain.dto.VoteSubmissionDto;
import com.vote.system.domain.dto.VoteSubmissionItemDto;
import com.vote.system.domain.vo.VoteSubmissionCountVo;
import com.vote.system.domain.vo.VoteSubmissionItemVo;
import com.vote.system.domain.vo.VoteSubmissionVo;

import java.util.List;

/**
* @author MacBook
* @description 针对表【vote_submission】的数据库操作Service
* @createDate 2024-08-20 15:39:44
*/
public interface VoteSubmissionService extends IService<VoteSubmission> {

    IPage<VoteSubmissionVo> selectPage(VoteSubmissionDto voteSubmissionDto);

    VoteSubmissionVo selectById(Long id);

    IPage<VoteSubmissionVo> getResult(VoteSubmissionDto voteSubmissionDto);

    VoteSubmissionCountVo getAllSubmissionCount(VoteSubmissionDto voteSubmissionDto);

    VoteSubmissionCountVo getAllAwardCount(VoteSubmissionDto voteSubmissionDto);

    IPage<VoteSubmissionVo> getResultAward(VoteSubmissionDto voteSubmissionDto);

    int promote(VoteSubmissionDto voteSubmissionDto);

    List<String> awardShow(VoteSubmissionDto voteSubmissionDto);

    int distribute(VoteSubmissionDto voteSubmissionDto);

    VoteSubmissionItemVo getSubmissionItem(VoteSubmissionDto voteSubmissionDto);

    int editItem(VoteSubmissionItemDto voteSubmissionDto);
}
