package com.vote.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vctgo.common.core.web.domain.AjaxResult;
import com.vote.system.domain.*;
import com.vote.system.domain.appletDto.VoteAppletNewsDto;
import com.vote.system.domain.appletVo.VoteEventAppletnNewsVo;
import com.vote.system.domain.appletVo.VoteEventNewsVo;
import com.vote.system.domain.dto.VoteRegistrationsDto;
import com.vote.system.domain.dto.VoteSubmissionDto;
import com.vote.system.domain.appletVo.VoteUserSubmissionVo;

import java.util.List;
import java.util.Map;

/**
 * @author feng
 * @date 2024/9/2
 */
public interface VoteEventAppletService {


    VoteEventAppletnNewsVo carouselsList();

    VoteEventNews getCarousels(Long id);

    VoteEvents getEvent(Long id);

    AjaxResult signUp(VoteRegistrationsDto voteRegistrationsDto);

    List<VoteEventWorkSettings> getWorkType(Long eventId);

    int submission(VoteSubmissionDto voteSubmissionDto);

    List<VoteUserSubmissionVo> getUserSubmission(Long userId);

    VoteUserSubmissionVo getSubmissionDetail(Long submissionId);

    VoteEventNews getNewsDetails(VoteAppletNewsDto voteAppletNewsDto);

    IPage<VoteEventNewsVo> getNewsList(VoteAppletNewsDto voteAppletNewsDto);

    IPage<String> getLikeRecord(Long newsId);

    int thumbsUp(VoteAppletNewsDto voteAppletNewsDto);

    String registrationsStatus(Long userid);

    Map<Long, String> getBranchKindergarten(VoteRegistrationsDto voteRegistrationsDto);

    VoteSubmissionForm getsSubmissionFormDate(Long workSettingsId);

    int updateById(VoteSubmission voteSubmission);

    VoteRegistrations getRegDetail(Long userId, Long eventId);

    int edit(Long userId, VoteRegistrations voteRegistrations);
}
