namespace Application;
///
/// 配置应用服务接口
///
public interface IConfigApplication
{
///
/// 获取配置值
///
Task GetConfigAsync(string key);
///
/// 设置配置值
///
Task SetConfigAsync(string key, string value);
}
///
/// 配置应用服务实现
///
public class ConfigApplication(
IConfigService configService,
ILogger logger
) : IConfigApplication
{
public async Task GetConfigAsync(string key)
{
if (string.IsNullOrWhiteSpace(key))
{
throw new ValidationException("配置键不能为空");
}
var value = await configService.GetConfigByKeyAsync(key);
return value ?? string.Empty;
}
public async Task SetConfigAsync(string key, string value)
{
if (string.IsNullOrWhiteSpace(key))
{
throw new ValidationException("配置键不能为空");
}
var success = await configService.SetConfigByKeyAsync(key, value);
if (!success)
{
throw new BusinessException($"设置配置 {key} 失败");
}
logger.LogInformation("配置 {Key} 已更新", key);
}
}