using MiAssessment.Admin.Business.Models;
using MiAssessment.Admin.Business.Models.User;
namespace MiAssessment.Admin.Business.Services.Interfaces;
///
/// �û�ҵ�����ӿ�
///
public interface IUserBusinessService
{
#region 用户列表和详情(旧接口 - 兼容)
///
/// 获取用户列表(旧接口)
///
/// 查询参数
/// 分页用户列表
Task> GetUserListAsync(UserListRequest request);
#endregion
#region �û��б������飨�½ӿ� - Requirements 9.1-9.7��
///
/// ��ȡC���û��б�
///
/// ��ѯ����
/// ��ҳ�û��б�
Task> GetUserListAsync(UserQueryRequest request);
///
/// ��ȡC���û�����
///
/// �û�ID
/// �û�����
Task GetUserDetailAsync(long id);
///
/// �����û�״̬
///
/// �û�ID
/// ״̬��0���� 1����
/// �Ƿ�ɹ�
Task UpdateUserStatusAsync(long id, int status);
///
/// �����û��ȼ�
///
/// �û�ID
/// �û��ȼ���1��ͨ�û� 2�ϻ��� 3�����ϻ���
/// �Ƿ�ɹ�
Task UpdateUserLevelAsync(long id, int userLevel);
///
/// 导出用户列表
///
/// 查询参数
/// 导出数据
Task> ExportUsersAsync(UserQueryRequest request);
///
/// 删除用户(硬删除,同时清除登录记录和令牌)
///
/// 用户ID
/// 是否成功
Task DeleteUserAsync(long id);
#endregion
#region ״̬�������ɽӿ� - ���ݣ�
///
/// �����û�״̬�����/��⣩
///
/// �û�ID
/// ״̬��1-���� 0-����
/// �Ƿ�ɹ�
Task SetUserStatusAsync(long userId, int status);
///
/// ���ò����˺ű�ʶ
///
/// �û�ID
/// �Ƿ�����˺ţ�0-�� 1-��
/// �Ƿ�ɹ�
Task SetTestAccountAsync(long userId, int isTest);
///
/// ����û��ֻ���
///
/// �û�ID
/// �Ƿ�ɹ�
Task ClearMobileAsync(long userId);
///
/// ����û��Ű������µ����openid��
///
/// �û�ID
/// �Ƿ�ɹ�
Task ClearWeChatAsync(long userId);
#endregion
#region �û�������أ��ɽӿ� - ���ݣ�
///
/// ��ȡ�û�IP��¼��ʷ
///
/// �û�ID
/// ҳ��
/// ÿҳ����
/// IP��¼��ʷ�б�
Task> GetUserIpLogsAsync(long userId, int page, int pageSize);
///
/// ���û��ֻ���
///
/// �û�ID
/// �ֻ���
/// �Ƿ�ɹ�
Task BindMobileAsync(long userId, string mobile);
#endregion
}