From 3b362a937f313c8196e8306bad75cd6df98f7368 Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Thu, 5 Sep 2024 13:08:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E=E8=B0=83=E6=95=B4sysConfigService?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/App/Auth/AppAuthService.cs | 4 +-- .../EventBus/AppEventSubscriber.cs | 2 +- Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs | 4 +-- Admin.NET/Admin.NET.Core/Job/LogJob.cs | 4 +-- .../Logging/DatabaseLoggingWriter.cs | 6 ++-- .../Logging/ElasticSearchLoggingWriter.cs | 2 +- .../Service/Auth/SysAuthService.cs | 8 ++--- .../Service/Config/SysConfigService.cs | 34 +++++++++---------- .../Admin.NET.Core/Service/Job/JobMonitor.cs | 2 +- .../Service/Message/SysEmailService.cs | 2 +- .../OnlineUser/SysOnlineUserService.cs | 2 +- .../Service/Region/SysRegionService.cs | 2 +- .../Service/Tenant/SysTenantService.cs | 4 +-- .../Service/User/SysUserService.cs | 4 +-- 14 files changed, 40 insertions(+), 40 deletions(-) diff --git a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs index 7c47e095..1df76917 100644 --- a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs +++ b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs @@ -59,12 +59,12 @@ public class AppAuthService : IDynamicApiController, ITransient // 判断密码错误次数(缓存30分钟) var keyPasswordErrorTimes = $"{CacheConst.KeyPasswordErrorTimes}{input.Account}"; var passwordErrorTimes = _sysCacheService.Get(keyPasswordErrorTimes); - var passwdMaxErrorTimes = await _sysConfigService.GetConfigValue(ConfigConst.SysPasswordMaxErrorTimes); + var passwdMaxErrorTimes = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPasswordMaxErrorTimes); if (passwordErrorTimes >= passwdMaxErrorTimes) throw Oops.Oh(ErrorCodeEnum.D1027); // 是否开启验证码 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysCaptcha)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysCaptcha)) { // 判断验证码 if (!_captcha.Validate(input.CodeId.ToString(), input.Code)) diff --git a/Admin.NET/Admin.NET.Core/EventBus/AppEventSubscriber.cs b/Admin.NET/Admin.NET.Core/EventBus/AppEventSubscriber.cs index 18752629..ebaaa436 100644 --- a/Admin.NET/Admin.NET.Core/EventBus/AppEventSubscriber.cs +++ b/Admin.NET/Admin.NET.Core/EventBus/AppEventSubscriber.cs @@ -42,7 +42,7 @@ public class AppEventSubscriber : IEventSubscriber, ISingleton, IDisposable //var mailTemp = File.ReadAllText(mailTempPath); //var mail = await _serviceScope.ServiceProvider.GetRequiredService().RunCompileFromCachedAsync(mailTemp, ); - var webTitle = await _serviceScope.ServiceProvider.GetRequiredService().GetConfigValue(ConfigConst.SysWebTitle); + var webTitle = await _serviceScope.ServiceProvider.GetRequiredService().GetConfigValueByCode(ConfigConst.SysWebTitle); var title = $"{webTitle} 系统异常"; await _serviceScope.ServiceProvider.GetRequiredService().SendEmail(JSON.Serialize(context.Source.Payload), title); } diff --git a/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs b/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs index cff056dc..c061fbfc 100644 --- a/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs +++ b/Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs @@ -68,7 +68,7 @@ public class OnlineUserHub : Hub await _sysOnlineUerRep.InsertAsync(user); // 是否开启单用户登录 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysSingleLogin)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysSingleLogin)) { _sysCacheService.HashAdd(CacheConst.KeyUserOnline, "" + user.UserId + loginMode, user); } @@ -108,7 +108,7 @@ public class OnlineUserHub : Hub await _sysOnlineUerRep.DeleteByIdAsync(user.Id); // 是否开启单用户登录 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysSingleLogin)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysSingleLogin)) { _sysCacheService.HashDel(CacheConst.KeyUserOnline, "" + user.UserId + user.LoginMode); // _sysCacheService.Remove(CacheConst.KeyUserOnline + user.UserId); diff --git a/Admin.NET/Admin.NET.Core/Job/LogJob.cs b/Admin.NET/Admin.NET.Core/Job/LogJob.cs index 1ab23370..5264ae4d 100644 --- a/Admin.NET/Admin.NET.Core/Job/LogJob.cs +++ b/Admin.NET/Admin.NET.Core/Job/LogJob.cs @@ -29,7 +29,7 @@ public class LogJob : IJob var db = serviceScope.ServiceProvider.GetRequiredService().CopyNew(); var sysConfigService = serviceScope.ServiceProvider.GetRequiredService(); - var daysAgo = await sysConfigService.GetConfigValue(ConfigConst.SysLogRetentionDays); // 日志保留天数 + var daysAgo = await sysConfigService.GetConfigValueByCode(ConfigConst.SysLogRetentionDays); // 日志保留天数 await db.Deleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除访问日志 await db.Deleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除操作日志 await db.Deleteable().Where(u => u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 删除差异日志 @@ -44,7 +44,7 @@ public class LogJob : IJob _logger.LogInformation(msg); // 默认 3个月/90天 强制修改一次密码(将最新修改密码时间置空) - if (await sysConfigService.GetConfigValue(ConfigConst.SysForceChangePassword)) + if (await sysConfigService.GetConfigValueByCode(ConfigConst.SysForceChangePassword)) { var userIds = await db.Queryable() .Where(u => SqlFunc.IsNullOrEmpty(u.LastChangePasswordTime) || (DateTime.Now - (DateTime)u.LastChangePasswordTime).Days > 90) diff --git a/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs b/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs index 54617af4..18e4c633 100644 --- a/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs +++ b/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs @@ -51,7 +51,7 @@ public class DatabaseLoggingWriter : IDatabaseLoggingWriter, IDisposable var loggingMonitor = JSON.Deserialize(jsonStr); // 记录数据校验日志 - if (loggingMonitor.validation != null && !await _sysConfigService.GetConfigValue(ConfigConst.SysValidationLog)) return; + if (loggingMonitor.validation != null && !await _sysConfigService.GetConfigValueByCode(ConfigConst.SysValidationLog)) return; // 获取当前操作者 string account = "", realName = "", userId = "", tenantId = ""; @@ -125,7 +125,7 @@ public class DatabaseLoggingWriter : IDatabaseLoggingWriter, IDisposable }).ExecuteCommandAsync(); // 将异常日志发送到邮件 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysErrorMail)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysErrorMail)) { await App.GetRequiredService().PublishAsync(CommonConst.SendErrorMail, logMsg.Exception ?? loggingMonitor.exception); } @@ -160,7 +160,7 @@ public class DatabaseLoggingWriter : IDatabaseLoggingWriter, IDisposable } // 记录操作日志 - if (!await _sysConfigService.GetConfigValue(ConfigConst.SysOpLog)) return; + if (!await _sysConfigService.GetConfigValueByCode(ConfigConst.SysOpLog)) return; await _db.Insertable(new SysLogOp { ControllerName = loggingMonitor.controllerName, diff --git a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs index d4253a57..f68697a3 100644 --- a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs +++ b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs @@ -27,7 +27,7 @@ public class ElasticSearchLoggingWriter : IDatabaseLoggingWriter, IDisposable public async Task WriteAsync(LogMessage logMsg, bool flush) { // 是否启用操作日志 - var sysOpLogEnabled = await _sysConfigService.GetConfigValue(ConfigConst.SysOpLog); + var sysOpLogEnabled = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysOpLog); if (!sysOpLogEnabled) return; var jsonStr = logMsg.Context?.Get("loggingMonitor")?.ToString(); diff --git a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs index cf5463db..16f48696 100644 --- a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs @@ -65,7 +65,7 @@ public class SysAuthService : IDynamicApiController, ITransient // 判断密码错误次数(缓存30分钟) var keyPasswordErrorTimes = $"{CacheConst.KeyPasswordErrorTimes}{input.Account}"; var passwordErrorTimes = _sysCacheService.Get(keyPasswordErrorTimes); - var passwordMaxErrorTimes = await _sysConfigService.GetConfigValue(ConfigConst.SysPasswordMaxErrorTimes); + var passwordMaxErrorTimes = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPasswordMaxErrorTimes); // 若未配置或误配置为0、负数, 则默认密码错误次数最大为5次 if (passwordMaxErrorTimes < 1) passwordMaxErrorTimes = 5; @@ -73,7 +73,7 @@ public class SysAuthService : IDynamicApiController, ITransient throw Oops.Oh(ErrorCodeEnum.D1027); // 是否开启验证码 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysCaptcha)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysCaptcha)) { // 判断验证码 if (!_captcha.Validate(input.CodeId.ToString(), input.Code)) @@ -104,7 +104,7 @@ public class SysAuthService : IDynamicApiController, ITransient } // 是否开启域登录验证 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysDomainLogin)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysDomainLogin)) { var userLdap = await _sysUserLdap.GetFirstAsync(u => u.UserId == user.Id && u.TenantId == tenant.Id); if (userLdap == null) @@ -279,7 +279,7 @@ public class SysAuthService : IDynamicApiController, ITransient // 接口集合 var apis = (await _sysRoleService.GetUserApiList())[0]; // 水印文字(若系统水印为空则禁止显示) - var watermarkText = await _sysConfigService.GetConfigValue(ConfigConst.SysWebWatermark); + var watermarkText = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysWebWatermark); if (!string.IsNullOrWhiteSpace(watermarkText)) watermarkText += $"-{user.RealName}"; // $"-{user.RealName}-{_httpContextAccessor.HttpContext.GetRemoteIpAddressToIPv4(true)}-{DateTime.Now}"; diff --git a/Admin.NET/Admin.NET.Core/Service/Config/SysConfigService.cs b/Admin.NET/Admin.NET.Core/Service/Config/SysConfigService.cs index de6fd84e..580da2eb 100644 --- a/Admin.NET/Admin.NET.Core/Service/Config/SysConfigService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Config/SysConfigService.cs @@ -137,12 +137,12 @@ public class SysConfigService : IDynamicApiController, ITransient } /// - /// 获取参数配置值 + /// 根据Code获取参数配置值 /// /// /// - [NonAction] - public async Task GetConfigValue(string code) + [DisplayName("根据Code获取参数配置值")] + public async Task GetConfigValueByCode(string code) { if (string.IsNullOrWhiteSpace(code)) return default; @@ -195,7 +195,7 @@ public class SysConfigService : IDynamicApiController, ITransient [NonAction] public async Task GetTokenExpire() { - var tokenExpireStr = await GetConfigValue(ConfigConst.SysTokenExpire); + var tokenExpireStr = await GetConfigValueByCode(ConfigConst.SysTokenExpire); _ = int.TryParse(tokenExpireStr, out var tokenExpire); return tokenExpire == 0 ? 20 : tokenExpire; } @@ -207,7 +207,7 @@ public class SysConfigService : IDynamicApiController, ITransient [NonAction] public async Task GetRefreshTokenExpire() { - var refreshTokenExpireStr = await GetConfigValue(ConfigConst.SysRefreshTokenExpire); + var refreshTokenExpireStr = await GetConfigValueByCode(ConfigConst.SysRefreshTokenExpire); _ = int.TryParse(refreshTokenExpireStr, out var refreshTokenExpire); return refreshTokenExpire == 0 ? 40 : refreshTokenExpire; } @@ -237,17 +237,17 @@ public class SysConfigService : IDynamicApiController, ITransient [DisplayName("获取系统信息")] public async Task GetSysInfo() { - var sysLogo = await GetConfigValue(ConfigConst.SysWebLogo); - var sysTitle = await GetConfigValue(ConfigConst.SysWebTitle); - var sysViceTitle = await GetConfigValue(ConfigConst.SysWebViceTitle); - var sysViceDesc = await GetConfigValue(ConfigConst.SysWebViceDesc); - var sysWatermark = await GetConfigValue(ConfigConst.SysWebWatermark); - var sysCopyright = await GetConfigValue(ConfigConst.SysWebCopyright); - var sysIcp = await GetConfigValue(ConfigConst.SysWebIcp); - var sysIcpUrl = await GetConfigValue(ConfigConst.SysWebIcpUrl); - var sysSecondVer = await GetConfigValue(ConfigConst.SysSecondVer); - var sysCaptcha = await GetConfigValue(ConfigConst.SysCaptcha); - var sysForceChangePassword = await GetConfigValue(ConfigConst.SysForceChangePassword); + var sysLogo = await GetConfigValueByCode(ConfigConst.SysWebLogo); + var sysTitle = await GetConfigValueByCode(ConfigConst.SysWebTitle); + var sysViceTitle = await GetConfigValueByCode(ConfigConst.SysWebViceTitle); + var sysViceDesc = await GetConfigValueByCode(ConfigConst.SysWebViceDesc); + var sysWatermark = await GetConfigValueByCode(ConfigConst.SysWebWatermark); + var sysCopyright = await GetConfigValueByCode(ConfigConst.SysWebCopyright); + var sysIcp = await GetConfigValueByCode(ConfigConst.SysWebIcp); + var sysIcpUrl = await GetConfigValueByCode(ConfigConst.SysWebIcpUrl); + var sysSecondVer = await GetConfigValueByCode(ConfigConst.SysSecondVer); + var sysCaptcha = await GetConfigValueByCode(ConfigConst.SysCaptcha); + var sysForceChangePassword = await GetConfigValueByCode(ConfigConst.SysForceChangePassword); return new { @@ -277,7 +277,7 @@ public class SysConfigService : IDynamicApiController, ITransient if (!string.IsNullOrEmpty(input.SysLogoBase64)) { // 旧图标文件相对路径 - var oldSysLogoRelativeFilePath = await GetConfigValue(ConfigConst.SysWebLogo) ?? ""; + var oldSysLogoRelativeFilePath = await GetConfigValueByCode(ConfigConst.SysWebLogo) ?? ""; var oldSysLogoAbsoluteFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, oldSysLogoRelativeFilePath.TrimStart('/')); var groups = Regex.Match(input.SysLogoBase64, @"data:image/(?.+?);base64,(?.+)").Groups; diff --git a/Admin.NET/Admin.NET.Core/Service/Job/JobMonitor.cs b/Admin.NET/Admin.NET.Core/Service/Job/JobMonitor.cs index b132f926..547054ef 100644 --- a/Admin.NET/Admin.NET.Core/Service/Job/JobMonitor.cs +++ b/Admin.NET/Admin.NET.Core/Service/Job/JobMonitor.cs @@ -30,7 +30,7 @@ public class JobMonitor : IJobMonitor public async Task OnExecutedAsync(JobExecutedContext context, CancellationToken stoppingToken) { // 将异常作业发送到邮件 - if (await _sysConfigService.GetConfigValue(ConfigConst.SysErrorMail) && context.Exception != null) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysErrorMail) && context.Exception != null) { var errorInfo = $"【{context.Trigger.Description}】定时任务错误:{context.Exception}"; await _eventPublisher.PublishAsync(CommonConst.SendErrorMail, errorInfo, stoppingToken); diff --git a/Admin.NET/Admin.NET.Core/Service/Message/SysEmailService.cs b/Admin.NET/Admin.NET.Core/Service/Message/SysEmailService.cs index 8bcdd313..cff2990f 100644 --- a/Admin.NET/Admin.NET.Core/Service/Message/SysEmailService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Message/SysEmailService.cs @@ -33,7 +33,7 @@ public class SysEmailService : IDynamicApiController, ITransient [DisplayName("发送邮件")] public async Task SendEmail([Required] string content, string title = "") { - var webTitle = await _sysConfigService.GetConfigValue(ConfigConst.SysWebTitle); + var webTitle = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysWebTitle); title = string.IsNullOrWhiteSpace(title) ? $"{webTitle} 系统邮件" : title; var message = new MimeMessage(); message.From.Add(new MailboxAddress(_emailOptions.DefaultFromEmail, _emailOptions.DefaultFromEmail)); diff --git a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs index 6456012b..e78b9ada 100644 --- a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs @@ -80,7 +80,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient [NonAction] public async Task SingleLogin(long userId, LoginModeEnum loginMode) { - if (await _sysConfigService.GetConfigValue(ConfigConst.SysSingleLogin)) + if (await _sysConfigService.GetConfigValueByCode(ConfigConst.SysSingleLogin)) { var users = await _sysOnlineUerRep.GetListAsync(u => u.UserId == userId); foreach (var user in users) diff --git a/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs b/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs index 4f117ec5..e101e52d 100644 --- a/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs @@ -153,7 +153,7 @@ public class SysRegionService : IDynamicApiController, ITransient [DisplayName("同步行政区域(国家统计局)")] public async Task SyncRegionStats(SyncInput input) { - var syncLevel = await _sysConfigService.GetConfigValue(ConfigConst.SysRegionSyncLevel); + var syncLevel = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysRegionSyncLevel); if (syncLevel < 1 || syncLevel > 5) syncLevel = 3;//默认区县级 diff --git a/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs b/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs index 9aec4dfe..ad593110 100644 --- a/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs @@ -210,7 +210,7 @@ public class SysTenantService : IDynamicApiController, ITransient await _sysPosRep.InsertAsync(newPos); // 初始化系统账号 - var password = await _sysConfigService.GetConfigValue(ConfigConst.SysPassword); + var password = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPassword); var newUser = new SysUser { Id = tenantId, @@ -381,7 +381,7 @@ public class SysTenantService : IDynamicApiController, ITransient [DisplayName("重置租户管理员密码")] public async Task ResetPwd(TenantUserInput input) { - var password = await _sysConfigService.GetConfigValue(ConfigConst.SysPassword); + var password = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPassword); var encryptPassword = CryptogramUtil.Encrypt(password); await _sysUserRep.UpdateAsync(u => new SysUser() { Password = encryptPassword }, u => u.Id == input.UserId); return password; diff --git a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs index 22fcd37f..7bd8199b 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs @@ -97,7 +97,7 @@ public class SysUserService : IDynamicApiController, ITransient var isExist = await _sysUserRep.AsQueryable().ClearFilter().AnyAsync(u => u.Account == input.Account); if (isExist) throw Oops.Oh(ErrorCodeEnum.D1003); - var password = await _sysConfigService.GetConfigValue(ConfigConst.SysPassword); + var password = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPassword); var user = input.Adapt(); user.Password = CryptogramUtil.Encrypt(password); @@ -320,7 +320,7 @@ public class SysUserService : IDynamicApiController, ITransient public virtual async Task ResetPwd(ResetPwdUserInput input) { var user = await _sysUserRep.GetByIdAsync(input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009); - var password = await _sysConfigService.GetConfigValue(ConfigConst.SysPassword); + var password = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPassword); user.Password = CryptogramUtil.Encrypt(password); user.LastChangePasswordTime = null; await _sysUserRep.AsUpdateable(user).UpdateColumns(u => new { u.Password, u.LastChangePasswordTime }).ExecuteCommandAsync();