package com.sptg.estate.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.estate.api.dto.NoticeDto;
import com.sptg.estate.api.entity.Notice;

import java.util.List;

/**
 * title: NoticeServiceInterface
 * package: com.sptg.estate.biz.security
 * description:公告-服务层接口
 *
 *                
 *                
 */
public interface NoticeServiceInterface extends IService<Notice> {
    /**
     * 功能描述:公告列表查询，及关联图片查询（含分页）
     * @param noticeDto 公告传输对象（含查询条件）
     * @return com.baomidou.mybatisplus.plugins.Page<com.sptg.estate.api.entity.Notice>
     *                
     *                      
     */
    Page<Notice> showNoticeList(NoticeDto noticeDto);
    /**
     * 功能描述:公告列表查询
     * @param noticeDto 公告传输对象（含查询条件）
     * @return com.baomidou.mybatisplus.plugins.Page<com.sptg.estate.api.entity.Notice>
     *                
     *                      
     */
    List<Notice> getList(NoticeDto noticeDto);
    /**
     * 功能描述:
     * @param notice
     * @return boolean
     *                
     *                      
     */
    boolean addOrEditNotice(Notice notice);
    /**
     * 功能描述:根据id查询公告
     * @param id
     * @return com.sptg.estate.api.entity.Notice
     *                
     *                      
     */
    Notice findNoticeById(long id);
    /**
     * 功能描述:删除公告(更新删除状态)
     * @param id
     * @return boolean
     *                
     *                      
     */
    boolean deleteNoticeById(long id);
    /**
     * 功能描述:批量删除公告(更新删除状态)
     * @param noticeDto
     * @return ResultBean<Boolean>
     *             
     *                      
     */
    ResultBean<Boolean> deleteNoticeList(NoticeDto noticeDto);
}
