package com.xjrsoft.module.oa.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.xjrsoft.module.oa.dto.*;
import com.xjrsoft.module.oa.entity.News;
import com.xjrsoft.module.oa.vo.NewsGradeClassTreeVo;
import com.xjrsoft.module.oa.vo.NewsPageVo;
import com.xjrsoft.module.oa.vo.ProclamationPageVo;
import com.xjrsoft.module.oa.vo.ProclamationVo;
import java.util.List;
/**
*
* 新闻中心表 服务类
*
*
* @author zlf
* @since 2022-06-16
*/
public interface INewsService extends MPJBaseService {
/**
* 公告年级班级树
*
* @param
* @return
*/
List getGradeClassTree();
/**
* 添加新闻
*
* @param addProclamationDto
* @return
*/
Long addProclamation(AddProclamationDto addProclamationDto);
/**
* 根据id获取公告详情
*
* @param id
* @return
*/
ProclamationVo getProclamationById(Long id);
/**
* 获取新闻分页
*
* @param dto
* @return
*/
IPage proclamationManageBox(ProclamationPageDto dto);
/**
* 获取新闻分页
*
* @param dto
* @return
*/
IPage proclamationReceiptBox(ProclamationPageDto dto);
/**
* 发布或下架公告
* @param changeNewsDto
* @return
*/
Boolean changeStatus(ChangeNewsDto changeNewsDto);
/**
* 修改公告
* @param updateProclamationDto
* @return
*/
boolean updateProclamation(UpdateProclamationDto updateProclamationDto);
/**
* 添加新闻
*
* @param addNewsDto
* @return
*/
Boolean add(AddNewsDto addNewsDto);
/**
* 获取新闻分页
*
* @param dto
* @return
*/
IPage manageBox(NewsPageDto dto);
/**
* 获取新闻分页
*
* @param dto
* @return
*/
IPage receiptBox(NewsPageDto dto);
/**
* 修改新闻
*
* @param updateNewsDto
* @return
*/
boolean update(UpdateNewsDto updateNewsDto);
/**
* 删除新闻 以及 消息推送
*
* @param ids
* @return
*/
boolean delete(List ids);
/**
* 设置新闻阅读权限
*
* @param updateRelationDto
* @return
*/
boolean updateRelation(UpdateNewsRelationDto updateRelationDto);
/**
* 删除新闻阅读权限
*
* @param deleteNewsRelationDto
* @return
*/
boolean deleteRelation(DeleteNewsRelationDto deleteNewsRelationDto);
boolean SendMessage(Long id);
}