package com.gx.obe.server.management.im.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gx.obe.server.management.im.entity.ChatRecord;
 
/** 
 * @Description: 
 * @author mazc 
 */
public interface ChatRecordService extends IService<ChatRecord> {

 	/**
	 * @Description: 批量更新
	 * @author mazc
	 * @param ChatRecordList 
	 */
 	Integer updateByBatch(List<ChatRecord> ChatRecordList);
	
	/**
	 * @Description: 批量插入
	 * @author mazc
	 * @param ChatRecordList 
	 */
	Integer insertByBatch(List<ChatRecord> ChatRecordList);
	
	/**
     * @Description: 指定字段修改
     * @author chenxw
     * @param Record
	 * @param attributes
     */
    boolean updateAssignProperty(ChatRecord Record, String[] attributes);
    
    /**
     * @Description: 批量指定字段修改
     * @author chenxw
     * @param ChatRecordList
	 * @param attributes
     */
    Integer batchUpdateProperty(List<ChatRecord> ChatRecordList, String[] attributes);
	
	/** 
	 * @Description: 批量添加或跟新
	 * @author chenxw
	 * @param ChatRecordList
	 * @param attributes
	 * @return 
	 */
    Integer batchSaveOrUpdate(List<ChatRecord> ChatRecordList, String[] attributes);
    
    
	/**
	 * @Description:  查询聊天记录
	 * @author guoyr
	 * @param sendId
	 * @param receiveId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public IPage<ChatRecord> getRecordPage(String sendId, String receiveId, int pageNo, int pageSize);
 	/**
	 * @Description:  查询群组聊天记录
	 * @author guoyr
	 * @param sendId
	 * @param receiveId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public IPage<ChatRecord> getGroupRecordPage(String groupId, int pageNo, int pageSize);
	
	/**
	 * @Description:  查询通知记录
	 * @author guoyr
	 * @param sendId
	 * @param receiveId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public IPage<ChatRecord> getNoticeRecordPage(String noticeId, int pageNo, int pageSize);
	
	boolean saveUpdate(ChatRecord record);
	
}