package com.yh.saas.plugin.news.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.winsea.svc.base.base.view.CommonTreeView;
import com.yh.saas.plugin.news.entity.AnnoIssueInfo;
import com.yh.saas.plugin.news.entity.CommonAnnouncementIssueInfo;

import java.util.List;

/**
 * 新闻管理
 *
 * @author Wangs
 */
public interface INewsAnnouncementInfoService extends IService<CommonAnnouncementIssueInfo>  {

    /**
     * 查询系统新闻一览信息
     *
     * @param issueInfo 查询条件
     * @return
     */
    Page<CommonAnnouncementIssueInfo> queryCommonPage(CommonAnnouncementIssueInfo issueInfo);

    /**
     * 查询 系统新闻详情
     *
     * @param commonIssueInfo 查询条件
     * @return
     */
    CommonAnnouncementIssueInfo queryCommonDetail(CommonAnnouncementIssueInfo commonIssueInfo);

    /**
     * 查询所有租户的已发布的新闻
     *
     * @param annoIssueInfo 查询条件
     * @return
     */
    Page<AnnoIssueInfo> queryTenantPage(AnnoIssueInfo annoIssueInfo);

    /**
     * 查询 租户的已发布的新闻详细
     *
     * @param annoIssueInfo 查询条件
     * @return
     */
    AnnoIssueInfo queryTenantDetail(AnnoIssueInfo annoIssueInfo);

    /**
     * 获取接收范围信息
     */
    List<CommonTreeView> getSendScopeList();

    /**
     * 创建新闻信息
     *
     * @param commonIssueInfo
     * @return
     */
    String createCommonIssueInfo(CommonAnnouncementIssueInfo commonIssueInfo);

    /**
     * 更新新闻信息
     *
     * @param commonIssueInfo
     * @return
     */
    String updateCommonIssueInfo(CommonAnnouncementIssueInfo commonIssueInfo);

    /**
     * 删除
     *
     * @param commonIssueInfo
     */
    void remove(CommonAnnouncementIssueInfo commonIssueInfo);

}
