using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using GxPress.Entity; using GxPress.Request.App.GroupFolder; using GxPress.Request.App.GroupUser; using Datory; using GxPress.EnumConst; using SqlKata; namespace GxPress.Repository.Interface { public interface IGroupUserRepository : IRepository { Task<bool> UpdateAsync(GroupUserUpRequest request); Task<bool> DeleteAsync(SqlKata.Query query); Task<IEnumerable<GroupUser>> FindGroupUserAsync(GroupUserFindRequest request); Task<int> InsertAsync(int userId, int groupId, GroupUserRoleTyeConst groupUserRoleId); Task<GroupUser> GetAsync(SqlKata.Query q); Task<IEnumerable<GroupUser>> GetAllAsync(SqlKata.Query q); Task<int> InsertAsync(GroupUser groupUser); /// <summary> /// 设置用户是否免打扰 /// </summary> /// <param name="groupId"></param> /// <param name="userId"></param> /// <returns></returns> Task<bool> SetIsUDisturbAsync(int groupId, int userId); Task<bool> InsertAsync(List<GroupUser> groupUsers); /// <summary> /// 根据用户ID获取所加入的小组用户 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<IEnumerable<int>> GetGroupUserByUserIdAsync(int userId); /// <summary> /// 获取用户加入小组的人数 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<int> GetUserIntoGroupUserCountAsync(int userId); Task<int> CountAsync(int groupId); Task<bool> UpdateAsync(Entity.GroupUser groupUser); /// <summary> /// 查询小组用户是否存在 /// </summary> /// <param name="userId"></param> /// <param name="groupId"></param> /// <returns></returns> Task<bool> ExistsAsync(int userId, int groupId); Task<bool> UpdateGroupUserReadDateAsync(int userId, int groupId); } }