package com.amms.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.amms.domain.Announcement;

/**
 * 公告Mapper接口
 */
@Mapper
public interface AnnouncementMapper {
    /**
     * 查询公告
     *
     * @param id 公告主键
     * @return 公告
     */
    public Announcement selectAnnouncementById(Long id);

    /**
     * 查询公告列表
     *
     * @param announcement 公告
     * @return 公告集合
     */
    public List<Announcement> selectAnnouncementList(Announcement announcement);

    /**
     * 新增公告
     *
     * @param announcement 公告
     * @return 结果
     */
    public int insertAnnouncement(Announcement announcement);

    /**
     * 修改公告
     *
     * @param announcement 公告
     * @return 结果
     */
    public int updateAnnouncement(Announcement announcement);

    /**
     * 删除公告
     *
     * @param id 公告主键
     * @return 结果
     */
    public int deleteAnnouncementById(Long id);

    /**
     * 查询置顶公告（显示状态）
     */
    public List<Announcement> selectTopAnnouncements();

    /**
     * 查询普通公告（非置顶且显示）
     */
    public List<Announcement> selectNormalAnnouncements(Announcement filter);

}
