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 { /// <summary> /// 删除 /// </summary> /// <returns></returns> Task<bool> DeleteAsync(int id); /// <summary> /// 添加 /// </summary> /// <param name="request"></param> /// <param name="userId"></param> /// <returns></returns> Task<bool> InsertAsync(OftenContactInRequest request, int userId); /// <summary> /// 插入多个 /// </summary> /// <param name="oftenContacts"></param> /// <returns></returns> Task<bool> InsertAsync(List<OftenContact> oftenContacts); /// <summary> /// 修改 /// </summary> /// <param name="userId"></param> /// <param name="blackUserId"></param> /// <returns></returns> Task<bool> SetBlackUserAsync(int userId, int blackUserId); /// <summary> /// /// </summary> /// <param name="userId"></param> /// <param name="groupChatImId"></param> /// <returns></returns> Task<OftenContact> FindOftenContactAsync(int userId, string groupChatImId); /// <summary> /// 移除当前文件夹关系 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> RemoveOftenContactAsync(OftenContactDeRequest request); Task<bool> SetOftenContactIsTopAsync(OftenContactDeRequest request); /// <summary> /// 移动到文件夹 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> MoveOftenContactToIndividualGroupAsync(OftenContactUpRequest request); /// <summary> /// 删除聊天界面 /// </summary> /// <param name="oftenContactIds"></param> /// <returns></returns> Task<bool> DeleteAsync(List<int> oftenContactIds); Task<bool> GetIsTopAsync(int userId, string imId); Task<int> CountAsync(SqlKata.Query query); Task<bool> UpdateAsync(SqlKata.Query query); Task<int> InsertAsync(Entity.OftenContact oftenContact); Task<IEnumerable<OftenContactInfo>> GetContactInfosAsync(OftenContactSearchRequest request); Task<Entity.OftenContact> GetAsync(SqlKata.Query query); Task<IEnumerable<Entity.OftenContact>> GetAllAsync(SqlKata.Query query); /// <summary> /// 获取全局索引聊天群 /// </summary> /// <returns></returns> Task<List<JobChatResult>> ElasticSearchGroupChat(); /// <summary> /// 获取全局索引聊天 /// </summary> /// <returns></returns> Task<List<JobChatResult>> ElasticSearchChat(); Task<IEnumerable<OftenContactInfo>> GetContactInfoAllAsync(OftenContactSearchRequest request); } }