24 changed files with 442 additions and 253 deletions
@ -0,0 +1,14 @@ |
|||||
|
using System.Collections.Generic; |
||||
|
using CoreAgent.Domain.Entities; |
||||
|
using CoreAgent.Domain.Models.Common; |
||||
|
using MediatR; |
||||
|
|
||||
|
namespace CoreAgent.Application.Commands.NetworkConfig |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 获取所有网络配置查询
|
||||
|
/// </summary>
|
||||
|
public class GetAllNetworkConfigurationsQuery : IRequest<ApiActionResult<List<NetworkConfiguration>>> |
||||
|
{ |
||||
|
} |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
using CoreAgent.Domain.Entities; |
||||
|
using CoreAgent.Domain.Models.Common; |
||||
|
using MediatR; |
||||
|
|
||||
|
namespace CoreAgent.Application.Commands.NetworkConfig |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 根据配置键获取网络配置查询
|
||||
|
/// </summary>
|
||||
|
public class GetNetworkConfigurationByKeyQuery : IRequest<ApiActionResult<NetworkConfiguration>> |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 配置键值
|
||||
|
/// </summary>
|
||||
|
public string ConfigKey { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,62 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Threading; |
||||
|
using System.Threading.Tasks; |
||||
|
using CoreAgent.Application.Commands.NetworkConfig; |
||||
|
using CoreAgent.Domain.Entities; |
||||
|
using CoreAgent.Domain.Interfaces; |
||||
|
using CoreAgent.Domain.Models.Common; |
||||
|
using MediatR; |
||||
|
using Microsoft.Extensions.Logging; |
||||
|
|
||||
|
namespace CoreAgent.Application.Handlers.NetworkConfig.Commands |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 获取所有网络配置查询处理器
|
||||
|
/// </summary>
|
||||
|
public class GetAllNetworkConfigurationsQueryHandler : IRequestHandler<GetAllNetworkConfigurationsQuery, ApiActionResult<List<NetworkConfiguration>>> |
||||
|
{ |
||||
|
private readonly INetworkConfigurationService _service; |
||||
|
private readonly ILogger<GetAllNetworkConfigurationsQueryHandler> _logger; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 构造函数
|
||||
|
/// </summary>
|
||||
|
/// <param name="service">网络配置服务</param>
|
||||
|
/// <param name="logger">日志记录器</param>
|
||||
|
public GetAllNetworkConfigurationsQueryHandler( |
||||
|
INetworkConfigurationService service, |
||||
|
ILogger<GetAllNetworkConfigurationsQueryHandler> logger) |
||||
|
{ |
||||
|
_service = service; |
||||
|
_logger = logger; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 处理获取所有网络配置查询
|
||||
|
/// </summary>
|
||||
|
/// <param name="request">获取所有网络配置查询</param>
|
||||
|
/// <param name="cancellationToken">取消令牌</param>
|
||||
|
/// <returns>网络配置列表</returns>
|
||||
|
public async Task<ApiActionResult<List<NetworkConfiguration>>> Handle(GetAllNetworkConfigurationsQuery request, CancellationToken cancellationToken) |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
_logger.LogInformation("正在获取所有网络配置"); |
||||
|
|
||||
|
var configurations = await _service.GetAllAsync(); |
||||
|
|
||||
|
_logger.LogInformation("成功获取所有网络配置,共 {Count} 条记录", configurations.Count); |
||||
|
return ApiActionResult<List<NetworkConfiguration>>.Ok(configurations, "成功获取所有网络配置"); |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
_logger.LogError(ex, "获取所有网络配置失败"); |
||||
|
return ApiActionResult<List<NetworkConfiguration>>.Error( |
||||
|
$"获取所有网络配置失败: {ex.Message}", |
||||
|
"INTERNAL_ERROR", |
||||
|
System.Net.HttpStatusCode.InternalServerError); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,69 @@ |
|||||
|
using System; |
||||
|
using System.Threading; |
||||
|
using System.Threading.Tasks; |
||||
|
using CoreAgent.Application.Commands.NetworkConfig; |
||||
|
using CoreAgent.Domain.Entities; |
||||
|
using CoreAgent.Domain.Interfaces; |
||||
|
using CoreAgent.Domain.Models.Common; |
||||
|
using MediatR; |
||||
|
using Microsoft.Extensions.Logging; |
||||
|
|
||||
|
namespace CoreAgent.Application.Handlers.NetworkConfig.Commands |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 根据配置键获取网络配置查询处理器
|
||||
|
/// </summary>
|
||||
|
public class GetNetworkConfigurationByKeyQueryHandler : IRequestHandler<GetNetworkConfigurationByKeyQuery, ApiActionResult<NetworkConfiguration>> |
||||
|
{ |
||||
|
private readonly INetworkConfigurationService _service; |
||||
|
private readonly ILogger<GetNetworkConfigurationByKeyQueryHandler> _logger; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 构造函数
|
||||
|
/// </summary>
|
||||
|
/// <param name="service">网络配置服务</param>
|
||||
|
/// <param name="logger">日志记录器</param>
|
||||
|
public GetNetworkConfigurationByKeyQueryHandler( |
||||
|
INetworkConfigurationService service, |
||||
|
ILogger<GetNetworkConfigurationByKeyQueryHandler> logger) |
||||
|
{ |
||||
|
_service = service; |
||||
|
_logger = logger; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 处理根据配置键获取网络配置查询
|
||||
|
/// </summary>
|
||||
|
/// <param name="request">根据配置键获取网络配置查询</param>
|
||||
|
/// <param name="cancellationToken">取消令牌</param>
|
||||
|
/// <returns>网络配置</returns>
|
||||
|
public async Task<ApiActionResult<NetworkConfiguration>> Handle(GetNetworkConfigurationByKeyQuery request, CancellationToken cancellationToken) |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
_logger.LogInformation("正在获取网络配置: {ConfigKey}", request.ConfigKey); |
||||
|
|
||||
|
var configuration = await _service.GetByConfigKeyAsync(request.ConfigKey); |
||||
|
if (configuration == null) |
||||
|
{ |
||||
|
_logger.LogWarning("未找到网络配置: {ConfigKey}", request.ConfigKey); |
||||
|
return ApiActionResult<NetworkConfiguration>.Error( |
||||
|
$"未找到网络配置: {request.ConfigKey}", |
||||
|
"CONFIG_NOT_FOUND", |
||||
|
System.Net.HttpStatusCode.NotFound); |
||||
|
} |
||||
|
|
||||
|
_logger.LogInformation("成功获取网络配置: {ConfigKey}", request.ConfigKey); |
||||
|
return ApiActionResult<NetworkConfiguration>.Ok(configuration, "成功获取网络配置"); |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
_logger.LogError(ex, "获取网络配置失败: {ConfigKey}", request.ConfigKey); |
||||
|
return ApiActionResult<NetworkConfiguration>.Error( |
||||
|
$"获取网络配置失败: {ex.Message}", |
||||
|
"INTERNAL_ERROR", |
||||
|
System.Net.HttpStatusCode.InternalServerError); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -1,66 +0,0 @@ |
|||||
using System.Collections.Generic; |
|
||||
using System.Threading; |
|
||||
using System.Threading.Tasks; |
|
||||
using CoreAgent.Application.Queries.NetworkConfig; |
|
||||
using CoreAgent.Domain.Entities; |
|
||||
using CoreAgent.Domain.Interfaces; |
|
||||
using MediatR; |
|
||||
|
|
||||
namespace CoreAgent.Application.Handlers.NetworkConfig.Queries |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 获取所有网络配置查询处理器
|
|
||||
/// </summary>
|
|
||||
public class GetAllNetworkConfigurationsQueryHandler : IRequestHandler<GetAllNetworkConfigurationsQuery, List<NetworkConfiguration>> |
|
||||
{ |
|
||||
private readonly INetworkConfigurationService _service; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
/// <param name="service">网络配置服务</param>
|
|
||||
public GetAllNetworkConfigurationsQueryHandler(INetworkConfigurationService service) |
|
||||
{ |
|
||||
_service = service; |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 处理获取所有网络配置查询
|
|
||||
/// </summary>
|
|
||||
/// <param name="request">获取所有网络配置查询</param>
|
|
||||
/// <param name="cancellationToken">取消令牌</param>
|
|
||||
/// <returns>网络配置列表</returns>
|
|
||||
public Task<List<NetworkConfiguration>> Handle(GetAllNetworkConfigurationsQuery request, CancellationToken cancellationToken) |
|
||||
{ |
|
||||
return _service.GetAllAsync(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据配置键获取网络配置查询处理器
|
|
||||
/// </summary>
|
|
||||
public class GetNetworkConfigurationByKeyQueryHandler : IRequestHandler<GetNetworkConfigurationByKeyQuery, NetworkConfiguration> |
|
||||
{ |
|
||||
private readonly INetworkConfigurationService _service; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
/// <param name="service">网络配置服务</param>
|
|
||||
public GetNetworkConfigurationByKeyQueryHandler(INetworkConfigurationService service) |
|
||||
{ |
|
||||
_service = service; |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 处理根据配置键获取网络配置查询
|
|
||||
/// </summary>
|
|
||||
/// <param name="request">根据配置键获取网络配置查询</param>
|
|
||||
/// <param name="cancellationToken">取消令牌</param>
|
|
||||
/// <returns>网络配置</returns>
|
|
||||
public Task<NetworkConfiguration> Handle(GetNetworkConfigurationByKeyQuery request, CancellationToken cancellationToken) |
|
||||
{ |
|
||||
return _service.GetByConfigKeyAsync(request.ConfigKey); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,55 +0,0 @@ |
|||||
using System.Collections.Generic; |
|
||||
using System.Threading.Tasks; |
|
||||
using CoreAgent.Domain.Entities; |
|
||||
|
|
||||
namespace CoreAgent.Application.Interfaces |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 网络配置服务接口
|
|
||||
/// </summary>
|
|
||||
public interface INetworkConfigurationService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 创建网络配置
|
|
||||
/// </summary>
|
|
||||
/// <param name="configKey">配置键值</param>
|
|
||||
/// <param name="ragConfig">RAN配置文件路径</param>
|
|
||||
/// <param name="coreOrImsConfigs">核心网和IMS配置列表</param>
|
|
||||
/// <param name="apn">APN配置</param>
|
|
||||
/// <param name="band">频段配置</param>
|
|
||||
/// <param name="comment">配置说明</param>
|
|
||||
/// <returns>创建的网络配置</returns>
|
|
||||
Task<NetworkConfiguration> CreateAsync( |
|
||||
string configKey, |
|
||||
string ragConfig, |
|
||||
List<CoreImsConfig> coreOrImsConfigs, |
|
||||
string apn, |
|
||||
List<string> band, |
|
||||
string comment = null); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 保存网络配置
|
|
||||
/// </summary>
|
|
||||
/// <param name="configuration">网络配置</param>
|
|
||||
Task SaveAsync(NetworkConfiguration configuration); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除网络配置
|
|
||||
/// </summary>
|
|
||||
/// <param name="configKey">配置键值</param>
|
|
||||
Task DeleteAsync(string configKey); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 获取所有网络配置
|
|
||||
/// </summary>
|
|
||||
/// <returns>网络配置列表</returns>
|
|
||||
Task<List<NetworkConfiguration>> GetAllAsync(); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据配置键获取网络配置
|
|
||||
/// </summary>
|
|
||||
/// <param name="configKey">配置键值</param>
|
|
||||
/// <returns>网络配置</returns>
|
|
||||
Task<NetworkConfiguration> GetByConfigKeyAsync(string configKey); |
|
||||
} |
|
||||
} |
|
@ -1,24 +0,0 @@ |
|||||
using System.Collections.Generic; |
|
||||
using CoreAgent.Domain.Entities; |
|
||||
using MediatR; |
|
||||
|
|
||||
namespace CoreAgent.Application.Queries.NetworkConfig |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 获取所有网络配置查询
|
|
||||
/// </summary>
|
|
||||
public class GetAllNetworkConfigurationsQuery : IRequest<List<NetworkConfiguration>> |
|
||||
{ |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据配置键获取网络配置查询
|
|
||||
/// </summary>
|
|
||||
public class GetNetworkConfigurationByKeyQuery : IRequest<NetworkConfiguration> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 配置键值
|
|
||||
/// </summary>
|
|
||||
public string ConfigKey { get; set; } |
|
||||
} |
|
||||
} |
|
Loading…
Reference in new issue