package org.iatoki.judgels.uriel.services; import org.iatoki.judgels.play.Page; import org.iatoki.judgels.uriel.ContestAnnouncement; import org.iatoki.judgels.uriel.ContestAnnouncementNotFoundException; import org.iatoki.judgels.uriel.ContestAnnouncementStatus; import java.util.List; public interface ContestAnnouncementService { ContestAnnouncement findContestAnnouncementByContestAnnouncementId(long contestAnnouncementId) throws ContestAnnouncementNotFoundException; Page<ContestAnnouncement> pageContestAnnouncementsByContestJid(String contestJid, long pageIndex, long pageSize, String orderBy, String orderDir, String filterString, String status); long getUnreadContestAnnouncementsCount(String userJid, String contestJid); void createContestAnnouncement(long contestId, String title, String content, ContestAnnouncementStatus status); void updateContestAnnouncement(long contestAnnouncementId, String title, String content, ContestAnnouncementStatus status); void readContestAnnouncements(String userJid, List<String> contestAnnouncementJids); }