package com.ssj.service.sys.schoolmatecircle.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.ssj.bean.sys.schoolmatecircle.domain.SSJUserMessage;
import com.ssj.framework.core.common.service.BaseService;
public interface SSJUserMessageService extends BaseService<SSJUserMessage, String> {
	
	/**
	 * @param userId
	 * @return
	
	 * 方法说明:查询用户聊天所有好友未读消息总数
	
	 * 创立日期:2019年1月16日 下午2:32:00
	 * 创建人:yangcan
	
	 */
	public int countByReceiveUserId(String userId);
	
	/**
	 * @param searchParams
	 * @param pageable
	 * @return
	
	 * 方法说明:查询聊天记录
	
	 * 创立日期:2019年1月16日 下午3:08:32
	 * 创建人:yangcan
	
	 */
	public Page<Map<String, Object>> findOnlineMessages(Map<String, Object> searchParams, Pageable pageable);
	
	/**
	 * @param sendUserId
	 * @param receiveUserId
	
	 * 方法说明:设置聊天消息已读
	
	 * 创立日期:2019年1月16日 下午4:00:08
	 * 创建人:yangcan
	
	 */
	public void updateMessageHaveRead(String sendUserId,String receiveUserId);
	
	/**
	 * @param sendUserId
	 * @param receiveUserId
	 * @return
	
	 * 方法说明:查询上一条聊天消息
	
	 * 创立日期:2019年1月17日 下午7:08:02
	 * 创建人:yangcan
	
	 */
	public SSJUserMessage findLastOnlineMessage(String sendUserId,String receiveUserId);
	
	
	/**
	 * @param sendUserId
	 * @param receiveUserId
	
	 * 方法说明:删除非好友关系聊天记录
	
	 * 创立日期:2019年3月1日 下午4:11:00
	 * 创建人:yangcan
	
	 */
	public void deleteUserMessage(String sendUserId, String receiveUserId);

	/**
	 * 查询是否有消息未读
	 */
	public List<SSJUserMessage> findBySendUserIdAndRecieveUserId(String sendUserId, String receiveUserId);


}
