using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Entity;
using GxPress.Request.App.OftenContact;
using GxPress.Result.App.OftenContact;
using Datory;
using GxPress.Result.Job;
namespace GxPress.Repository.Interface
{
public interface IOftenContactRepository : IRepository
{
///
/// 删除
///
///
Task DeleteAsync(int id);
///
/// 添加
///
///
///
///
Task InsertAsync(OftenContactInRequest request, int userId);
///
/// 插入多个
///
///
///
Task InsertAsync(List oftenContacts);
///
/// 修改
///
///
///
///
Task SetBlackUserAsync(int userId, int blackUserId);
///
///
///
///
///
///
Task FindOftenContactAsync(int userId, string groupChatImId);
///
/// 移除当前文件夹关系
///
///
///
Task RemoveOftenContactAsync(OftenContactDeRequest request);
Task SetOftenContactIsTopAsync(OftenContactDeRequest request);
///
/// 移动到文件夹
///
///
///
Task MoveOftenContactToIndividualGroupAsync(OftenContactUpRequest request);
///
/// 删除聊天界面
///
///
///
Task DeleteAsync(List oftenContactIds);
Task GetIsTopAsync(int userId, string imId);
Task CountAsync(SqlKata.Query query);
Task UpdateAsync(SqlKata.Query query);
Task InsertAsync(Entity.OftenContact oftenContact);
Task> GetContactInfosAsync(OftenContactSearchRequest request);
Task GetAsync(SqlKata.Query query);
Task> GetAllAsync(SqlKata.Query query);
///
/// 获取全局索引聊天群
///
///
Task> ElasticSearchGroupChat();
///
/// 获取全局索引聊天
///
///
Task> ElasticSearchChat();
Task> GetContactInfoAllAsync(OftenContactSearchRequest request);
///
/// 根据用户ID获取最近聊天用户
///
///
///
Task> GetAllAsync(int userId);
}
}