package com.keao.edu.common.service; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; import com.keao.edu.common.entity.SysMessage; import com.keao.edu.common.enums.MessageSendMode; import com.keao.edu.common.enums.MessageTypeEnum; import com.keao.edu.thirdparty.message.MessageSenderPlugin; public interface SysMessageService extends BaseService { /** * 修改消息对象 * @param message * @return */ public int updateMessage(SysMessage message); /** * 推送站内消息 * @param userIds * @param messageType * @return */ boolean batchSeoMessage(Set userIds, MessageTypeEnum messageType, String memo, Object... args); /** * 批量发送消息 * @param messageSender 消息发送者 * @param subject 消息主题 * @param content 消息内容 * @param receivers 消息接受者 * @param triggerTime 触发时间 * @param group 组 * @return */ public boolean batchSendMessage(MessageSenderPlugin senderPlugin, String subject, String content, Map receivers, Date triggerTime, Integer readStatus, String memo, String group, String jpushType); /** * 发送消息 * @param messageType 消息类型 * @param receivers 消息接收者(Key:用户编号 value:消息接收对象) * @param triggerTime 触发时间 * @param readStatus 阅读状态(0-未读 1-已读) * @param url 超链接地址 * @param args 参数 * @return */ public void batchSendMessage(MessageTypeEnum messageType, Map receivers, Date triggerTime, Integer readStatus, String url, String jpushType, Object... args); /** * 发送消息 * @param messageSender 消息发送者 * @param userId 用户编号 * @param title 消息标题 * @param content 消息内容 * @param receiver 消息接受者 * @param triggerTime 触发时间 * @param readStatus 阅读状态(0-未读 1-已读) * @param url 超链接地址 * @param group 组 * @return */ public void sendMessage(MessageSenderPlugin senderPlugin, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus, String url, String group, String jpushType); /** * 发送验证码 * @param messageSender 消息发送者 * @param userId 用户编号 * @param messageType 消息类型 * @param receiver 消息接受者 * @return */ public boolean sendSecurityCode(Integer userId, MessageTypeEnum messageType, String receiver); /** * 获取已经发送的验证码 * @param type * @param mobileNOOrEmailAddr * @return */ public String getSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr); /** * 删除已有的key * @param type * @param mobileNOOrEmailAddr */ public void delSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr); /** * 查询消息未读条数 * @param type * @param userId * @return */ public Map queryCountOfUnread(MessageSendMode type, Integer userId); /** * * @param userId 用户id * @param status 状态/1 已读,0未读 * @return */ public int updateStatus(Integer userId, int status); /** * 修改单条消息状态 */ public int updateOneStatus(Long id, int status); public List queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type); /** * 删除消息 * @param ids */ void batchDelMessage(String ids); }