using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using GxPress.Common.Page; using GxPress.Entity; using GxPress.Request.App.User; using GxPress.Request.User; using GxPress.Result.App.User; using GxPress.Result.User; namespace GxPress.Service.Interface { public interface IUserService : IService { /// <summary> /// 根据部门或者自建ID获取用户 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<IEnumerable<UserInfoResult>> FindUser(FindUserRequest request); /// <summary> /// 根据用户ID查询用户数据 /// </summary> /// <param name="userId"></param> /// <param name="blackUserId"></param> /// <returns></returns> Task<UserDetail> GetUserByIdAsync(int userId, int blackUserId); /// <summary> /// 生成excel /// </summary> /// <returns></returns> Task<string> ExcelUserAsync(List<int> userIds); /// <summary> /// 用户分页列表 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<UserResult>> GetPagedListAsync(UserPageSearchRequest request); Task<bool> DeleteUsersAsync(IEnumerable<int> userIds); /// <summary> /// 获取用户未读数据 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<UserCountResult> GetUserCountAsync(int userId); Task<PagedList<User>> GetPageListAsync(UserPageSearchRequest request); /// <summary> /// 获取用户的通讯录 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<UserLinkResult> GetUserLinkResultAsync(int userId); /// <summary> /// 更新用户信息 /// </summary> /// <param name="id"></param> /// <param name="request"></param> /// <returns></returns> Task<bool> UpdateAsync(int id, UserInfoRequest request); Task<UserInfoResult> GetUserInfoAsync(int id); /// <summary> /// 查询不是好友的用户 /// </summary> /// <returns></returns> Task<IEnumerable<UserInfoResult>> FindUserInfoNoFriendsResultAsync(int userId, string keyword); /// <summary> /// 搜索好友和部门用户 /// </summary> /// <param name="keyword"></param> /// <param name="userIds"></param> /// <returns></returns> Task<IEnumerable<UserInfoResult>> GetSearchUserInfoResults(int userId, string keyword); /// <summary> /// 根据部门ID获取用户 /// </summary> /// <param name="departentId"></param> /// <returns></returns> Task<IEnumerable<UserInfoResult>> GetUserInfoByDepartentResult(int departentId); /// <summary> /// 获取群聊和小组的用户 /// </summary> /// <param name="typeValue"></param> /// <param name="id"></param> /// <param name="keyword"></param> /// <returns></returns> Task<IEnumerable<UserInfoResult>> GetGroupOrGroupChatUserInfosResult(UserInfoByGroupoRoGroupChatResult request); /// <summary> /// 获取好友列表 /// </summary> /// <param name="userId"></param> /// <param name="keyWord"></param> /// <returns></returns> Task<IEnumerable<UserInfoResult>> GetFriendUserInfoResult(int userId, string keyWord); } }