84 lines
2.4 KiB
C#
84 lines
2.4 KiB
C#
using MiAssessment.Admin.Business.Models;
|
||
using MiAssessment.Admin.Business.Models.User;
|
||
|
||
namespace MiAssessment.Admin.Business.Services.Interfaces;
|
||
|
||
/// <summary>
|
||
/// 用户业务服务接口
|
||
/// </summary>
|
||
public interface IUserBusinessService
|
||
{
|
||
#region 用户列表和详情
|
||
|
||
/// <summary>
|
||
/// 获取用户列表
|
||
/// </summary>
|
||
/// <param name="request">查询请求</param>
|
||
/// <returns>分页用户列表</returns>
|
||
Task<PagedResult<UserListResponse>> GetUserListAsync(UserListRequest request);
|
||
|
||
/// <summary>
|
||
/// 获取用户详情
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <returns>用户详情</returns>
|
||
Task<UserDetailResponse?> GetUserDetailAsync(int userId);
|
||
|
||
#endregion
|
||
|
||
#region 状态管理
|
||
|
||
/// <summary>
|
||
/// 设置用户状态(封号/解封)
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <param name="status">状态:1-正常 0-禁用</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> SetUserStatusAsync(int userId, int status);
|
||
|
||
/// <summary>
|
||
/// 设置测试账号标识
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <param name="isTest">是否测试账号:0-否 1-是</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> SetTestAccountAsync(int userId, int isTest);
|
||
|
||
/// <summary>
|
||
/// 清空用户手机号
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> ClearMobileAsync(int userId);
|
||
|
||
/// <summary>
|
||
/// 清空用户微信绑定(生成新的随机openid)
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> ClearWeChatAsync(int userId);
|
||
|
||
#endregion
|
||
|
||
#region 用户详情相关
|
||
|
||
/// <summary>
|
||
/// 获取用户IP登录历史
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <param name="page">页码</param>
|
||
/// <param name="pageSize">每页数量</param>
|
||
/// <returns>IP登录历史列表</returns>
|
||
Task<PagedResult<IpLogItem>> GetUserIpLogsAsync(int userId, int page, int pageSize);
|
||
|
||
/// <summary>
|
||
/// 绑定用户手机号
|
||
/// </summary>
|
||
/// <param name="userId">用户ID</param>
|
||
/// <param name="mobile">手机号</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> BindMobileAsync(int userId, string mobile);
|
||
|
||
#endregion
|
||
}
|