using System.Collections.Generic; using System.Threading.Tasks; using GxPress.Request.App.Group; using GxPress.Result.App.Group; using GxPress.Result.App.GroupUser; using Datory; using GxPress.Entity; using GxPress.Request.App.Topic; using GxPress.Result.Job; using GxPress.Common.Page; namespace GxPress.Repository.Interface { public interface IGroupRepository : IRepository { Task InsertAsync(GroupInRequest request); Task UpdateAsync(GroupUpRequest request); Task DeleteAsync(int id); Task DeleteAsync(SqlKata.Query query); Task> FindGroupByGroupFolderId(GroupSearchRequest request); Task GroupDetailAsync(GroupDetailRequest request); /// /// 获取用户未读取话题数量 /// /// /// /// Task GetUReadCountAsync(int userId, int groupId); /// /// 获取小组的共享话题数量 /// /// /// Task SharingCountAsync(int groupId); Task GetAsync(int id); /// /// 是否免打扰 /// /// /// Task SetGroupIsAdminAsync(int groupId); /// /// 是否禁言 /// /// /// Task SetGroupIsWordsAsync(int groupId); /// /// 获取小组详情 /// /// /// Task GroupDetailByGuIdAsync(string guId, int userId); Task> GetAllAsync(SqlKata.Query query); /// /// 搜索小组成员 /// /// /// Task> SearchGroupUserAsync(TopicDetailListRequest request); Task> ElasticSearchGroup(); /// /// 根据广场类别查询小组 /// /// /// Task> GetAllAsync(int categoryId, int userId); /// /// 用户小组列表 /// /// /// Task> GetAllByUserIdAsync(int userId); /// /// 或者最近使用的小组 /// /// /// Task> GetLatelyGroupDetailResultAsync(int userId); /// /// 小组列表 搜索专用 /// /// /// Task> GetUserGroupListAsync(int userId); /// /// 修改小组 /// /// /// Task UpdateAsync(Entity.Group group); /// /// 获取小组列表 /// /// Task> GetGroupDetailResults(string keyWor); /// /// 小组广场搜索 /// /// /// /// Task> GetSearchGroupAsync(string keyWord, int userId); /// /// 是否添加到通讯录 /// /// /// /// Task UpdateContactsAsync(int groupId, int userId); } }