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
{
///
/// 根据部门或者自建ID获取用户
///
///
///
Task> FindUser(FindUserRequest request);
///
/// 根据用户ID查询用户数据
///
///
///
///
Task GetUserByIdAsync(int userId, int blackUserId);
///
/// 生成excel
///
///
Task ExcelUserAsync(List userIds);
///
/// 用户分页列表
///
///
///
Task> GetPagedListAsync(UserPageSearchRequest request);
Task DeleteUsersAsync(IEnumerable userIds);
///
/// 获取用户未读数据
///
///
///
Task GetUserCountAsync(int userId);
Task> GetPageListAsync(UserPageSearchRequest request);
///
/// 获取用户的通讯录
///
///
///
Task GetUserLinkResultAsync(int userId);
///
/// 更新用户信息
///
///
///
///
Task UpdateAsync(int id, UserInfoRequest request);
Task GetUserInfoAsync(int id);
///
/// 查询不是好友的用户
///
///
Task> FindUserInfoNoFriendsResultAsync(int userId, string keyword);
///
/// 搜索好友和部门用户
///
///
///
///
Task> GetSearchUserInfoResults(int userId, string keyword);
///
/// 根据部门ID获取用户
///
///
///
Task> GetUserInfoByDepartentResult(int departentId);
///
/// 获取群聊和小组的用户
///
///
///
///
///
Task> GetGroupOrGroupChatUserInfosResult(UserInfoByGroupoRoGroupChatResult request);
///
/// 获取好友列表
///
///
///
///
Task> GetFriendUserInfoResult(int userId, string keyWord);
}
}