- 修正用户等级常量:1=普通用户, 2=合伙人, 3=渠道合伙人 - 添加删除用户接口(硬删除),同时清除 user_refresh_tokens 和 user_login_logs - 前端添加删除按钮和确认对话框
125 lines
4.1 KiB
C#
125 lines
4.1 KiB
C#
using MiAssessment.Admin.Business.Models;
|
||
using MiAssessment.Admin.Business.Models.User;
|
||
|
||
namespace MiAssessment.Admin.Business.Services.Interfaces;
|
||
|
||
/// <summary>
|
||
/// <20>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
||
/// </summary>
|
||
public interface IUserBusinessService
|
||
{
|
||
#region 用户列表和详情(旧接口 - 兼容)
|
||
|
||
/// <summary>
|
||
/// 获取用户列表(旧接口)
|
||
/// </summary>
|
||
/// <param name="request">查询参数</param>
|
||
/// <returns>分页用户列表</returns>
|
||
Task<PagedResult<UserListResponse>> GetUserListAsync(UserListRequest request);
|
||
|
||
#endregion
|
||
|
||
#region <EFBFBD>û<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飨<EFBFBD>½ӿ<EFBFBD> - Requirements 9.1-9.7<EFBFBD><EFBFBD>
|
||
|
||
/// <summary>
|
||
/// <20><>ȡC<C8A1><43><EFBFBD>û<EFBFBD><C3BB>б<EFBFBD>
|
||
/// </summary>
|
||
/// <param name="request"><3E><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD></param>
|
||
/// <returns><3E><>ҳ<EFBFBD>û<EFBFBD><C3BB>б<EFBFBD></returns>
|
||
Task<PagedResult<UserDto>> GetUserListAsync(UserQueryRequest request);
|
||
|
||
/// <summary>
|
||
/// <20><>ȡC<C8A1><43><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="id"><3E>û<EFBFBD>ID</param>
|
||
/// <returns><3E>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD></returns>
|
||
Task<UserDetailDto?> GetUserDetailAsync(long id);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>״̬
|
||
/// </summary>
|
||
/// <param name="id"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="status">״̬<D7B4><CCAC>0<EFBFBD><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD></param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> UpdateUserStatusAsync(long id, int status);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ȼ<EFBFBD>
|
||
/// </summary>
|
||
/// <param name="id"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="userLevel"><3E>û<EFBFBD><C3BB>ȼ<EFBFBD><C8BC><EFBFBD>1<EFBFBD><31>ͨ<EFBFBD>û<EFBFBD> 2<>ϻ<EFBFBD><CFBB><EFBFBD> 3<><33><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD></param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> UpdateUserLevelAsync(long id, int userLevel);
|
||
|
||
/// <summary>
|
||
/// 导出用户列表
|
||
/// </summary>
|
||
/// <param name="request">查询参数</param>
|
||
/// <returns>导出数据</returns>
|
||
Task<List<UserDto>> ExportUsersAsync(UserQueryRequest request);
|
||
|
||
/// <summary>
|
||
/// 删除用户(硬删除,同时清除登录记录和令牌)
|
||
/// </summary>
|
||
/// <param name="id">用户ID</param>
|
||
/// <returns>是否成功</returns>
|
||
Task<bool> DeleteUserAsync(long id);
|
||
|
||
#endregion
|
||
|
||
#region ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽӿ<EFBFBD> - <EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>/<2F><>⣩
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="status">״̬<D7B4><CCAC>1-<2D><><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD></param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> SetUserStatusAsync(long userId, int status);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>˺ű<CBBA>ʶ
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="isTest"><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>˺ţ<CBBA>0-<2D><> 1-<2D><></param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> SetTestAccountAsync(long userId, int isTest);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ֻ<EFBFBD><D6BB><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> ClearMobileAsync(long userId);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Ű<C5B0><F3B6A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>openid<69><64>
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> ClearWeChatAsync(long userId);
|
||
|
||
#endregion
|
||
|
||
#region <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɽӿ<EFBFBD> - <EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
|
||
|
||
/// <summary>
|
||
/// <20><>ȡ<EFBFBD>û<EFBFBD>IP<49><50>¼<EFBFBD><C2BC>ʷ
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="page">ҳ<><D2B3></param>
|
||
/// <param name="pageSize">ÿҳ<C3BF><D2B3><EFBFBD><EFBFBD></param>
|
||
/// <returns>IP<49><50>¼<EFBFBD><C2BC>ʷ<EFBFBD>б<EFBFBD></returns>
|
||
Task<PagedResult<IpLogItem>> GetUserIpLogsAsync(long userId, int page, int pageSize);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD>û<EFBFBD><C3BB>ֻ<EFBFBD><D6BB><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="userId"><3E>û<EFBFBD>ID</param>
|
||
/// <param name="mobile"><3E>ֻ<EFBFBD><D6BB><EFBFBD></param>
|
||
/// <returns><3E>Ƿ<EFBFBD>ɹ<EFBFBD></returns>
|
||
Task<bool> BindMobileAsync(long userId, string mobile);
|
||
|
||
#endregion
|
||
}
|