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