using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using GxPress.Entity; using GxPress.Request.GroupChat; using GxPress.Request.GroupChatUser; using GxPress.Result.GroupChatUser; using Datory; namespace GxPress.Repository.Interface { public interface IGroupChatUserRepository:IRepository { /// <summary> /// 添加 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> InsertAsync(GroupChatUserInRequest request); Task<int> InsertAsync(Entity.GroupChatUser groupChatUser); /// <summary> /// 修改 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpdateAsync(GroupChatUserUpRequest request); /// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<bool> DeleteAsync(int id); /// <summary> /// 根据群ID查询群 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<IEnumerable<GroupChatUserByGroupChatIdResult>> GetGroupChatUserByGroupChatIdAsync(GroupChatUserSearchRequest request); /// <summary> /// 是否免打扰 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpIsDisturbAsync(GroupChatUserIsDisturbRequest request); /// <summary> /// 是否置顶 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpIsTopAsync(GroupChatUserIsTopRequest request); Task<GroupChatUser> FindGroupChatUserByIdAsync(int id); /// <summary> /// 根据群IMID获取用户 /// </summary> /// <param name="imId"></param> /// <returns></returns> Task<IEnumerable<GroupChatUser>> FindGroupChatUserByImId(string imId); Task<bool> IsDisturbAsync(GroupChatUserIsDisturbRequest request); Task<IEnumerable<GroupChatUser>> GetAllAsync(SqlKata.Query query); /// <summary> /// 添加多个 /// </summary> /// <param name="groupChatUsers"></param> /// <returns></returns> Task<bool> InsertAsync(List<GroupChatUser> groupChatUsers); Task<IEnumerable<int>> GetUserIdsAsync(int userId); /// <summary> /// 获取用户加入的群聊用户人数 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<int> GetUserIntoGroupChatUserCountAsync(int userId); } }