IGroupChatRepository.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Threading.Tasks;
  5. using GxPress.Entity;
  6. using GxPress.Request.App.IM;
  7. using GxPress.Request.GroupChat;
  8. using Datory;
  9. using GxPress.Result.App.GroupChat;
  10. namespace GxPress.Repository.Interface
  11. {
  12. /// <summary>
  13. ///
  14. /// </summary>
  15. public interface IGroupChatRepository : IRepository
  16. {
  17. /// <summary>
  18. /// 添加
  19. /// </summary>
  20. /// <param name="request"></param>
  21. /// <returns></returns>
  22. Task<bool> InsertAsync(GroupChatInRequest request);
  23. /// <summary>
  24. /// 修改
  25. /// </summary>
  26. /// <param name="request"></param>
  27. /// <returns></returns>
  28. Task<bool> UpdateAsync(GroupChatUpRequest request);
  29. /// <summary>
  30. /// 删除
  31. /// </summary>
  32. /// <param name="id"></param>
  33. /// <returns></returns>
  34. Task<bool> DeleteAsync(int id);
  35. /// <summary>
  36. /// 根据UserId查询群
  37. /// </summary>
  38. /// <param name="request"></param>
  39. /// <returns></returns>
  40. Task<IEnumerable<GroupChat>> GetGroupChatByUserIdAsync(GroupChatSearchRequest request);
  41. /// <summary>
  42. /// 是否管理员同意
  43. /// </summary>
  44. /// <param name="request"></param>
  45. /// <returns></returns>
  46. Task<bool> UpIsAdminAsync(GroupChatUpIsAdminRequest request);
  47. /// <summary>
  48. /// 是否禁言
  49. /// </summary>
  50. /// <param name="request"></param>
  51. /// <returns></returns>
  52. Task<bool> UpIsWordsAsync(GroupChatUpIsWordsRequest request);
  53. Task<GroupChat> FindGroupChatByIdAsync(int id);
  54. Task<GroupChat> GetAsync(int id);
  55. Task<GroupChat> GetGroupChatByImIdAsync(string imId);
  56. Task<bool> InsertUsersIntoGroupChatAsync(InsertGroupChatUsersRequest request);
  57. Task<bool> DeleteUsersIntoGroupChatAsync(InsertGroupChatUsersRequest request);
  58. Task<IEnumerable<GroupChat>> GetAllGroupChatAsync();
  59. Task<GroupChat> GetGroupChatByGuidAsync(string guid);
  60. /// <summary>
  61. /// set群是否开启
  62. /// </summary>
  63. /// <param name="groupChatImId"></param>
  64. /// <param name="userId"></param>
  65. /// <returns></returns>
  66. Task<bool> SetIsOpenQrCoderAsync(string groupChatImId, int userId);
  67. Task<GroupChat> GetAsync(SqlKata.Query query);
  68. /// <summary>
  69. /// 根据ImId获取群信息
  70. /// </summary>
  71. /// <param name="imId"></param>
  72. /// <returns></returns>
  73. Task<GroupChatInfoResult> GetGroupChatInfoByImIdAsync(string imId);
  74. /// <summary>
  75. /// 获取用户加入的群
  76. /// </summary>
  77. /// <param name="userId"></param>
  78. /// <returns></returns>
  79. Task<IEnumerable<GroupChat>> GetGroupChatsAsync(GroupChatSearchRequest request);
  80. }
  81. }