mi-assessment/server/MiAssessment/src/MiAssessment.Admin.Business/Services/Interfaces/IUserBusinessService.cs
2026-02-03 14:25:01 +08:00

84 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}