package com.ssj.service.conch.common.service;

import java.util.Map;

import com.ssj.service.conch.conch.padrequest.PadUploadHomeworkRequest;
import org.springframework.data.domain.Pageable;

import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.conch.common.request.EasemobAPNsRequest;
import com.ssj.service.conch.common.request.OnlineSendMessageRequest;


public interface AppCommonService {
	
	/**
	 * @param request
	
	 * 方法说明:环信语音推送
	
	 * 创立日期:2018年12月24日 下午4:24:02
	 * 创建人:yangcan
	
	 */
	public void easemobAPNsPush(EasemobAPNsRequest request);
	
	/**
	 * @param userId
	 * @return
	
	 * 方法说明:好友列表(贝壳端，学生端通用附带未读消息数)
	
	 * 创立日期:2019年1月15日 下午7:13:35
	 * 创建人:yangcan
	
	 */
	public ResponseEntity findFriends(String userId);
	
	/**
	 * @param userId
	 * @param request
	 * @return
	
	 * 方法说明:非及时通讯好友-发送消息
	
	 * 创立日期:2019年1月15日 下午7:14:13
	 * 创建人:yangcan
	
	 */
	public ResponseEntity onlineSendMessage(String userId,OnlineSendMessageRequest request);
	
	/**
	 * @param params 查询入参
	 * @param pageable 分页入参
	 * @return
	
	 * 方法说明:好友聊天记录
	
	 * 创立日期:2019年1月16日 下午3:19:00
	 * 创建人:yangcan
	
	 */
	public ResponseEntity onlineMessages(Map<String, Object> params,Pageable pageable);
	
	/**
	 * @param userId
	 * @return
	
	 * 方法说明:未读消息总数
	
	 * 创立日期:2019年1月15日 下午7:14:51
	 * 创建人:yangcan
	
	 */
	public ResponseEntity onlineNoReadMessageSum(String userId);


	/**
	 * @param userId
	 * @param receiveUserId

	 * 方法说明:设置消息已读

	 * 创立日期:2019年1月22日 下午5:54:07
	 * 创建人:yangcan

	 */
	public void setMessagesRead(String userId,String receiveUserId);
	
	/**
	 * 
	
	 * 方法说明:
	
	 * 创立日期:2019年5月5日 下午2:16:43
	 * 创建人:yangcan
	
	 */
	public void syncRefreshGrade();
	
	
	/**
	 * @param type
	 * @param title
	
	 * 方法说明:推送系统消息到所有设备(ios,android)
	
	 * 创立日期:2019年5月31日 下午4:13:06
	 * 创建人:yangcan
	
	 */
	public void pushAllBySystemMessage(String type,String title);

	/**
	 * @param
	 * @return
	 * 方法说明:通过AI接口识别图片文字内容
	 * 创建时间:2019/7/12 10:40
	 * @author yangcan
	 */
	public String discernPictureByAI(String fileKey);

	/**
	 * 获取小孩服务集合
	 * @param vipId
	 * @return
	 */
	ResponseEntity getChildService(String vipId);
}
