package com.red.circle.other.app.inner.service.sys;


import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.sys.SysNoticeMessageCmd;
import com.red.circle.other.inner.model.cmd.sys.SysNoticeMessageQryCmd;
import com.red.circle.other.inner.model.dto.sys.SysNoticeMessageDTO;

/**
 * <p>
 * 系统公告通知消息 服务类.
 * </p>
 *
 * @author pengliang
 * @since 2021-03-27
 */
public interface NoticeMessageClientService {

  /**
   * 分页查询系统通知消息
   */
  PageResult<SysNoticeMessageDTO> getNoticeMessage(SysNoticeMessageQryCmd query);

  /**
   * 新增系统通知消息
   */
  void addNoticeMessage(SysNoticeMessageCmd sysNoticeMessage);

  /**
   * 删除系统通知消息
   */
  void deleteNoticeMessage(Long id);

  /**
   * 修改系统通知消息
   */
  void updateNoticeMessage(SysNoticeMessageCmd sysNoticeMessage);

  /**
   * 上下架
   *
   * @param id       id
   * @param offShelf true 下架， false
   */
  void offShelf(Long id, Boolean offShelf);


  /**
   * 发布公告
   *
   * @param id id
   */
  void announcement(Long id);
}
