using NetAdmin.Domain.Dto.Dependency; using NetAdmin.Domain.Dto.Sys.VerifyCode; 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 VerifyCodeController (IVerifyCodeCache cache, ICaptchaCache captchaCache) : ControllerBase(cache) , IVerifyCodeModule { /// [NonAction] public Task BulkDeleteAsync(BulkReq req) { return Cache.BulkDeleteAsync(req); } /// [NonAction] public Task CreateAsync(CreateVerifyCodeReq req) { return Cache.CreateAsync(req); } /// [NonAction] public Task DeleteAsync(DelReq req) { return Cache.DeleteAsync(req); } /// [NonAction] public Task ExistAsync(QueryReq req) { return Cache.ExistAsync(req); } /// [NonAction] public Task GetAsync(QueryVerifyCodeReq req) { return Cache.GetAsync(req); } /// [NonAction] public Task> PagedQueryAsync(PagedQueryReq req) { return Cache.PagedQueryAsync(req); } /// [NonAction] public Task> QueryAsync(QueryReq req) { return Cache.QueryAsync(req); } /// /// 发送验证码 /// [Transaction] [AllowAnonymous] public async Task SendVerifyCodeAsync(SendVerifyCodeReq req) { await captchaCache.VerifyCaptchaAndRemoveAsync(req.VerifyCaptchaReq).ConfigureAwait(false); return await Cache.SendVerifyCodeAsync(req).ConfigureAwait(false); } /// [NonAction] public Task UpdateAsync(UpdateVerifyCodeReq req) { return Cache.UpdateAsync(req); } /// /// 完成验证 /// [Transaction] [AllowAnonymous] public Task VerifyAsync(VerifyCodeReq req) { return Cache.VerifyAsync(req); } }