package com.xiaoniu.system.platformsettings.notice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoniu.common.core.resdata.RowsData;
import com.xiaoniu.system.platformsettings.notice.domain.TbNotice;
import com.xiaoniu.system.platformsettings.notice.dto.AddNoticeDTO;
import com.xiaoniu.system.platformsettings.notice.dto.EditNoticeDTO;
import com.xiaoniu.system.platformsettings.notice.dto.NoticeListQueryDTO;
import com.xiaoniu.system.platformsettings.notice.vo.NoticeDetailsVO;
import com.xiaoniu.system.platformsettings.notice.vo.NoticeListVO;

/**
 * <p>
 * 活动公告 服务类
 * </p>
 *
 * @author haoxuyang
 * @since 2024-10-11 11:30:35
 */
public interface ITbNoticeService extends IService<TbNotice> {

    /**
     * 通知公告列表
     *
     * @param dto dto
     * @return RowsData<NoticeListVO>
     */
    RowsData<NoticeListVO> noticeList(NoticeListQueryDTO dto);

    /**
     * 新增通知公告
     *
     * @param dto dto
     */
    void addNotice(AddNoticeDTO dto);

    /**
     * 修改通知公告
     *
     * @param dto dto
     */
    void editNotice(EditNoticeDTO dto);

    /**
     * 通知公告详情
     *
     * @param id 公告id
     * @return
     */
    NoticeDetailsVO details(Long id);

    /**
     * 删除通知公告
     *
     * @param id id
     */
    void delNotice(Long id);

    /**
     * 修改通知公告状态
     * @param id id
     */
    void changeState(Long id);
}
