package cn.service.system;

import cn.orm.abs.ICommonAPI;
import cn.facade.pojo.BusMessageDTO;
import cn.facade.pojo.BusTemplateMessageDTO;
import cn.facade.pojo.MessageDTO;
import cn.facade.pojo.TemplateDTO;
import cn.facade.pojo.TemplateMessageDTO;

/**
 * @Description  底层共通业务API，提供其他独立模块调用
 */
public interface ISysBaseAPI extends ICommonAPI 
{
	  /**
     * 29将会议签到信息推动到预览
     * userIds
     * @return
     * @param userId
     */
	void meetingSignWebsocket(String userId);
	
	  /**
     * 5通过消息中心模板，生成推送内容
     * @param templateDTO 使用构造器赋值参数
     * @return
     */
	String parseTemplateByCode(TemplateDTO templateDTO);
	 /**
     * 1发送系统消息
     * @param message 使用构造器赋值参数 如果不设置category(消息类型)则默认为2 发送系统消息
     */
    void sendSysAnnouncement(MessageDTO message);

    /**
     * 2发送消息 附带业务参数
     * @param message 使用构造器赋值参数
     */
    void sendBusAnnouncement(BusMessageDTO message);

    /**
     * 3通过模板发送消息
     * @param message 使用构造器赋值参数
     */
    void sendTemplateAnnouncement(TemplateMessageDTO message);

    /**
     * 4通过模板发送消息 附带业务参数
     * @param message 使用构造器赋值参数
     */
    void sendBusTemplateAnnouncement(BusTemplateMessageDTO message);
    
    /**
     * 根据业务类型及业务id修改消息已读
     * @param busType
     * @param busId
     */
    void updateSysAnnounReadFlag(String busType, String busId);
}
