using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using GxPress.Entity; using GxPress.Request.App.IM; using GxPress.Request.GroupChat; using Datory; using GxPress.Result.App.GroupChat; namespace GxPress.Repository.Interface { /// <summary> /// /// </summary> public interface IGroupChatRepository:IRepository { /// <summary> /// 添加 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> InsertAsync(GroupChatInRequest request); /// <summary> /// 修改 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpdateAsync(GroupChatUpRequest request); /// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<bool> DeleteAsync(int id); /// <summary> /// 根据UserId查询群 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<IEnumerable<GroupChat>> GetGroupChatByUserIdAsync(GroupChatSearchRequest request); /// <summary> /// 是否管理员同意 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpIsAdminAsync(GroupChatUpIsAdminRequest request); /// <summary> /// 是否禁言 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> UpIsWordsAsync(GroupChatUpIsWordsRequest request); Task<GroupChat> FindGroupChatByIdAsync(int id); Task<GroupChat> GetAsync(int id); Task<GroupChat> GetGroupChatByImIdAsync(string imId); Task<bool> InsertUsersIntoGroupChatAsync(InsertGroupChatUsersRequest request); Task<bool> DeleteUsersIntoGroupChatAsync(InsertGroupChatUsersRequest request); Task<IEnumerable<GroupChat>> GetAllGroupChatAsync(); Task<GroupChat> GetGroupChatByGuidAsync(string guid); /// <summary> /// set群是否开启 /// </summary> /// <param name="groupChatImId"></param> /// <param name="userId"></param> /// <returns></returns> Task<bool> SetIsOpenQrCoderAsync(string groupChatImId, int userId); Task<GroupChat> GetAsync(SqlKata.Query query); /// <summary> /// 根据ImId获取群信息 /// </summary> /// <param name="imId"></param> /// <returns></returns> Task<GroupChatInfoResult> GetGroupChatInfoByImIdAsync(string imId); /// <summary> /// 获取用户加入的群 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<IEnumerable<GroupChat>> GetGroupChatsAsync(int userId); } }