package com.keao.edu.im.service;

import io.rong.models.Result;
import io.rong.models.message.*;
import io.rong.models.push.BroadcastModel;
import io.rong.models.push.PushModel;

public interface MessageService {

    Result privateSend(PrivateMessage privateMessage) throws Exception;

    Result privateRecall(RecallMessage recallMessage) throws Exception;

    Result privateSendTemplate(TemplateMessage templateMessage) throws Exception;


    //群组消息
    Result groupSend(GroupMessage groupMessage) throws Exception;

    Result groupSendDirection(GroupMessage groupMessage) throws Exception;

    Result groupSendMention(MentionMessage mentionMessage) throws Exception;

    Result groupRecall(RecallMessage recallMessage) throws Exception;


    //聊天室
    Result chatroomSend(ChatroomMessage chatroomMessage) throws Exception;

    Result chatroomBroadcast(ChatroomMessage chatroomMessage) throws Exception;


    //系统消息
    Result systemSend(SystemMessage systemMessage) throws Exception;

    Result systemBroadcast(BroadcastMessage broadcastMessage) throws Exception;

    Result systemSendTemplate(TemplateMessage templateMessage) throws Exception;


    //历史消息
    Result historyGet(String date) throws Exception;

    Result historyRemove(String date) throws Exception;


    //广播推送模块
    Result pushPush(PushModel pushModel) throws Exception;

    Result pushMessage(BroadcastModel broadcastModel) throws Exception;
}
