using NetAdmin.Domain.Dto.Dependency; using NetAdmin.Domain.Dto.Sys.User; using NetAdmin.Domain.Dto.Sys.UserProfile; using NetAdmin.Host.Attributes; using NetAdmin.Host.Controllers; using NetAdmin.SysComponent.Application.Modules.Sys; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// /// 用户服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] public sealed class UserController (IUserCache cache, IConfigCache configCache) : ControllerBase(cache), IUserModule { /// /// 批量删除用户 /// [NonAction] [Transaction] public Task BulkDeleteAsync(BulkReq req) { return Cache.BulkDeleteAsync(req); } /// /// 检查手机号是否可用 /// [AllowAnonymous] public Task CheckMobileAvailableAsync(CheckMobileAvailableReq req) { return Cache.CheckMobileAvailableAsync(req); } /// /// 检查用户名是否可用 /// [AllowAnonymous] public Task CheckUserNameAvailableAsync(CheckUserNameAvailableReq req) { return Cache.CheckUserNameAvailableAsync(req); } /// /// 创建用户 /// [Transaction] public Task CreateAsync(CreateUserReq req) { return Cache.CreateAsync(req); } /// /// 删除用户 /// [Transaction] public Task DeleteAsync(DelReq req) { return Cache.DeleteAsync(req); } /// /// 用户是否存在 /// [NonAction] public Task ExistAsync(QueryReq req) { return Cache.ExistAsync(req); } /// /// 获取单个用户 /// public Task GetAsync(QueryUserReq req) { return Cache.GetAsync(req); } /// /// 密码登录 /// [AllowAnonymous] [Transaction] public async Task LoginByPwdAsync(LoginByPwdReq req) { var ret = await Cache.LoginByPwdAsync(req); ret.SetToRspHeader(); return ret; } /// /// 短信登录 /// [AllowAnonymous] [Transaction] public async Task LoginBySmsAsync(LoginBySmsReq req) { var ret = await Cache.LoginBySmsAsync(req); ret.SetToRspHeader(); return ret; } /// /// 分页查询用户 /// public Task> PagedQueryAsync(PagedQueryReq req) { return Cache.PagedQueryAsync(req); } /// /// 查询用户 /// public Task> QueryAsync(QueryReq req) { return Cache.QueryAsync(req); } /// /// 查询用户档案 /// public Task> QueryProfileAsync(QueryReq req) { return Cache.QueryProfileAsync(req); } /// /// 注册用户 /// [Transaction] [AllowAnonymous] public async Task RegisterAsync(RegisterUserReq req) { var config = await configCache.GetLatestConfigAsync(); return await Cache.RegisterAsync(req with { DeptId = config.UserRegisterDeptId , RoleIds = new[] { config.UserRegisterRoleId } , Profile = new CreateUserProfileReq() , Enabled = !config.UserRegisterConfirm , Mobile = req.VerifySmsCodeReq.DestDevice }); } /// /// 重设密码 /// [AllowAnonymous] [Transaction] public Task ResetPasswordAsync(ResetPasswordReq req) { return Cache.ResetPasswordAsync(req); } /// /// 更新用户头像 /// [Transaction] public Task SetAvatarAsync(SetAvatarReq req) { return Cache.SetAvatarAsync(req); } /// /// 设置邮箱 /// [Transaction] public Task SetEmailAsync(SetEmailReq req) { return Cache.SetEmailAsync(req); } /// /// 设置手机号 /// [Transaction] public Task SetMobileAsync(SetMobileReq req) { return Cache.SetMobileAsync(req); } /// /// 设置密码 /// [Transaction] public Task SetPasswordAsync(SetPasswordReq req) { return Cache.SetPasswordAsync(req); } /// /// 更新用户 /// [Transaction] public Task UpdateAsync(UpdateUserReq req) { return Cache.UpdateAsync(req); } /// /// 当前用户信息 /// public Task UserInfoAsync() { return Cache.UserInfoAsync(); } }