package jnpf.notice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import jnpf.model.notice.domain.FtbNoticeManager;
import jnpf.model.notice.dto.FtbNoticeManagerDto;
import jnpf.model.notice.req.manager.AddNoticeManagerReq;
import jnpf.model.notice.req.manager.QueryNoticeManagerReq;

/**
 * @author 许贵林
 * @description 针对表【ftb_notice_manager(公告管理员表)】的数据库操作Service
 * @createDate 2024-05-08 09:42:09
 */
public interface FtbNoticeManagerService extends IService<FtbNoticeManager> {

    /**
     * 查询公告分页列表
     *
     * @param req 查询条件对象，包含查询公告所需的信息
     * @return 返回包含公告管理器DTO的分页信息对象
     */
    PageInfo<FtbNoticeManagerDto> getPageLists(QueryNoticeManagerReq req);

    /**
     * 插入公告数据
     *
     * @param req 插入公告请求对象，包含需要插入的公告信息
     */
    void insertData(AddNoticeManagerReq req);

    /**
     * 删除公告数据
     *
     * @param id 公告的唯一标识符，用于标识需要删除的公告
     */
    void deleteData(String id);

    /**
     * 根据用户ID查询公告
     *
     * @param userId 用户ID，用于查找该用户相关的公告
     * @return 返回与指定用户ID相关的公告管理器对象
     */
    FtbNoticeManager queryByUserId(String userId);

}
