Browse Source

test

feature/x1-web-request
hyh 4 days ago
parent
commit
5604bf3e1e
  1. 6
      src/X1.Domain/Repositories/NetworkProfile/INetworkStackConfigRepository.cs
  2. 42
      src/X1.Infrastructure/Repositories/NetworkProfile/NetworkStackConfigRepository.cs
  3. 87
      src/modify.md

6
src/X1.Domain/Repositories/NetworkProfile/INetworkStackConfigRepository.cs

@ -84,11 +84,11 @@ public interface INetworkStackConfigRepository : IBaseRepository<NetworkStackCon
/// <summary>
/// 根据ID获取网络栈配置(包含绑定关系和关联配置名称)
/// </summary>
Task<IList<NetworkStackConfigBasicDto>> GetNetworkStackConfigByIdWithBindingNamesAsync(string id, CancellationToken cancellationToken = default);
Task<IList<NetworkStackConfigWithBindingNamesDto>> GetNetworkStackConfigByIdWithBindingNamesAsync(string id, CancellationToken cancellationToken = default);
/// <summary>
/// 根据编码数组获取网络栈配置(包含绑定关系和关联配置名称
/// 根据编码数组获取网络栈配置(包含核心字段和配置内容
/// </summary>
Task<IList<NetworkStackConfigWithBindingNamesDto>> GetNetworkStackConfigsByCodesAsync(string[] networkStackCodes, CancellationToken cancellationToken = default);
Task<IList<NetworkStackConfigBasicDto>> GetNetworkStackConfigsByCodesAsync(string[] networkStackCodes, CancellationToken cancellationToken = default);
/// <summary>
/// 搜索网络栈配置(包含绑定关系和关联配置名称,分页)

42
src/X1.Infrastructure/Repositories/NetworkProfile/NetworkStackConfigRepository.cs

@ -264,18 +264,30 @@ public class NetworkStackConfigRepository : BaseRepository<NetworkStackConfig>,
/// <summary>
/// 根据ID获取网络栈配置(包含绑定关系和关联配置名称)
/// </summary>
public async Task<IList<NetworkStackConfigBasicDto>> GetNetworkStackConfigByIdWithBindingNamesAsync(string id, CancellationToken cancellationToken = default)
public async Task<IList<NetworkStackConfigWithBindingNamesDto>> GetNetworkStackConfigByIdWithBindingNamesAsync(string id, CancellationToken cancellationToken = default)
{
// 使用原生SQL查询来一次性获取所有需要的数据 - PostgreSQL语法
var sql = @"
SELECT
nsc.""Id"" AS ""NetworkStackConfigId"",
nsc.""NetworkStackName"",
nsc.""NetworkStackCode"",
nsc.""RanId"",
cnc.""Id"" AS ""CoreNetworkConfigId"",
ims.""Id"" AS ""IMSConfigId"",
ran.""Name"" AS ""RanName"",
ran.""ConfigContent"" AS ""RanConfigContent"",
nsc.""Description"",
nsc.""IsActive"",
nsc.""CreatedAt"",
nsc.""UpdatedAt"",
nsc.""CreatedBy"",
nsc.""UpdatedBy"",
binding.""Id"" AS ""StackCoreIMSBindingId"",
binding.""Index"",
binding.""CnId"" AS ""CoreNetworkConfigId"",
cnc.""Name"" AS ""CoreNetworkConfigName"",
cnc.""ConfigContent"" AS ""CoreNetworkConfigContent"",
binding.""ImsId"" AS ""IMSConfigId"",
ims.""Name"" AS ""IMSConfigName"",
ims.""ConfigContent"" AS ""IMSConfigContent""
FROM ""NetworkStackConfigs"" nsc
LEFT JOIN ""RAN_Configurations"" ran ON nsc.""RanId"" = ran.""Id""
@ -288,15 +300,15 @@ public class NetworkStackConfigRepository : BaseRepository<NetworkStackConfig>,
var parameters = new object[] { id };
// 执行查询
var results = await ExecuteSqlQueryAsync<NetworkStackConfigBasicDto>(sql, parameters, cancellationToken);
var results = await ExecuteSqlQueryAsync<NetworkStackConfigWithBindingNamesDto>(sql, parameters, cancellationToken);
return results.ToList();
}
public async Task<IList<NetworkStackConfigWithBindingNamesDto>> GetNetworkStackConfigsByCodesAsync(string[] networkStackCodes, CancellationToken cancellationToken = default)
public async Task<IList<NetworkStackConfigBasicDto>> GetNetworkStackConfigsByCodesAsync(string[] networkStackCodes, CancellationToken cancellationToken = default)
{
if (networkStackCodes == null || !networkStackCodes.Any())
{
return new List<NetworkStackConfigWithBindingNamesDto>();
return new List<NetworkStackConfigBasicDto>();
}
// 构建IN查询的参数占位符
@ -305,25 +317,13 @@ public class NetworkStackConfigRepository : BaseRepository<NetworkStackConfig>,
// 使用原生SQL查询来一次性获取所有需要的数据 - PostgreSQL语法
var sql = $@"
SELECT
nsc.""Id"" AS ""NetworkStackConfigId"",
nsc.""NetworkStackName"",
nsc.""NetworkStackCode"",
nsc.""RanId"",
ran.""Name"" AS ""RanName"",
cnc.""Id"" AS ""CoreNetworkConfigId"",
ims.""Id"" AS ""IMSConfigId"",
ran.""ConfigContent"" AS ""RanConfigContent"",
nsc.""Description"",
nsc.""IsActive"",
nsc.""CreatedAt"",
nsc.""UpdatedAt"",
nsc.""CreatedBy"",
nsc.""UpdatedBy"",
binding.""Id"" AS ""StackCoreIMSBindingId"",
binding.""Index"",
binding.""CnId"" AS ""CoreNetworkConfigId"",
cnc.""Name"" AS ""CoreNetworkConfigName"",
cnc.""ConfigContent"" AS ""CoreNetworkConfigContent"",
binding.""ImsId"" AS ""IMSConfigId"",
ims.""Name"" AS ""IMSConfigName"",
ims.""ConfigContent"" AS ""IMSConfigContent""
FROM ""NetworkStackConfigs"" nsc
LEFT JOIN ""RAN_Configurations"" ran ON nsc.""RanId"" = ran.""Id""
@ -336,7 +336,7 @@ public class NetworkStackConfigRepository : BaseRepository<NetworkStackConfig>,
var parameters = networkStackCodes.Cast<object>().ToArray();
// 执行查询
var results = await ExecuteSqlQueryAsync<NetworkStackConfigWithBindingNamesDto>(sql, parameters, cancellationToken);
var results = await ExecuteSqlQueryAsync<NetworkStackConfigBasicDto>(sql, parameters, cancellationToken);
return results.ToList();
}

87
src/modify.md

@ -3993,25 +3993,53 @@ chore: 更新.gitignore忽略日志文件
- `X1.Infrastructure/Repositories/NetworkProfile/NetworkStackConfigRepository.cs`
**修改内容**:
1. 重命名方法 `GetNetworkStackConfigByNetworkStackCodeWithBindingNamesAsync`
1. 重命名方法 `GetNetworkStackConfigByNetworkStackCodeWithBindingNamesAsync``GetNetworkStackConfigsByCodesAsync`
2. 修复 `GetNetworkStackConfigsByCodesAsync` 方法,添加 `ran.ConfigContent`、`cnc.ConfigContent`、`ims.ConfigContent` 字段
3. 扩展 `NetworkStackConfigWithBindingNamesDto` DTO,添加配置内容字段
4. 同步修复相关方法:`GetNetworkStackConfigByIdWithBindingNamesAsync` 和 `SearchNetworkStackConfigsWithBindingNamesAsync`
## 2025-01-29 修改GetNetworkStackConfigByIdWithBindingNamesAsync方法返回NetworkStackConfigBasicDto
### 技术细节
- **DTO扩展**:添加 `RanConfigContent`、`CoreNetworkConfigContent`、`IMSConfigContent` 字段
- **SQL查询优化**:在LEFT JOIN查询中添加配置内容字段的选择
- **方法同步**:确保所有相关方法都返回完整的配置内容信息
- **数据完整性**:确保网络栈配置查询结果包含所有相关的配置内容
### 修改原因
根据用户需求,将 `GetNetworkStackConfigByIdWithBindingNamesAsync` 方法的返回类型从 `NetworkStackConfigWithBindingNamesDto` 改为 `NetworkStackConfigBasicDto`,只返回指定的核心字段。
## 2025-01-29 创建NetworkStackConfigBasicDto
### 修改文件
**修改时间**: 2025年1月29日
**修改文件**:
- `X1.Domain/Models/NetworkStackConfigBasicDto.cs` (新增)
**修改内容**:
1. 创建新的DTO类 `NetworkStackConfigBasicDto`,包含指定的字段子集:
- `NetworkStackName` - 网络栈名称
- `NetworkStackCode` - 网络栈代码
- `RanId` - RAN配置ID
- `CoreNetworkConfigId` - 核心网配置ID
- `IMSConfigId` - IMS配置ID
- `RanConfigContent` - RAN配置内容
- `CoreNetworkConfigContent` - 核心网配置内容
- `IMSConfigContent` - IMS配置内容
### 技术特性
- **字段精简**:只包含用户指定的核心字段
- **配置内容**:包含所有相关的配置内容字段
- **类型安全**:完整的C#属性定义和XML文档注释
- **命名规范**:遵循C#命名规范和项目约定
## 2025-01-29 修改GetNetworkStackConfigsByCodesAsync方法返回NetworkStackConfigBasicDto
**修改时间**: 2025年1月29日
**修改文件**:
- `X1.Domain/Repositories/NetworkProfile/INetworkStackConfigRepository.cs` - 更新接口方法签名
- `X1.Infrastructure/Repositories/NetworkProfile/NetworkStackConfigRepository.cs` - 更新实现方法
### 修改内容
#### 1. 接口更新
- **INetworkStackConfigRepository**
- 将 `GetNetworkStackConfigByIdWithBindingNamesAsync` 方法的返回类型从 `IList<NetworkStackConfigWithBindingNamesDto>` 改为 `IList<NetworkStackConfigBasicDto>`
**修改内容**:
1. **接口更新**
- 将 `GetNetworkStackConfigsByCodesAsync` 方法的返回类型从 `IList<NetworkStackConfigWithBindingNamesDto>` 改为 `IList<NetworkStackConfigBasicDto>`
- 更新方法注释,说明返回核心字段和配置内容
#### 2. 实现更新
- **NetworkStackConfigRepository**
2. **实现更新**
- 更新方法签名以匹配接口
- 修改SQL查询,只选择 `NetworkStackConfigBasicDto` 需要的字段:
- `nsc."NetworkStackName"`
@ -4022,6 +4050,7 @@ chore: 更新.gitignore忽略日志文件
- `ran."ConfigContent"` (别名: `RanConfigContent`)
- `cnc."ConfigContent"` (别名: `CoreNetworkConfigContent`)
- `ims."ConfigContent"` (别名: `IMSConfigContent`)
- 移除不需要的字段:ID、描述、状态、时间戳、创建者等
- 更新查询结果映射,使用 `NetworkStackConfigBasicDto` 类型
### 技术特性
@ -4040,39 +4069,7 @@ chore: 更新.gitignore忽略日志文件
- **API响应**:返回的数据结构更加精简
- **查询性能**:减少字段选择,提高查询效率
- **客户端处理**:客户端需要更新以处理新的数据结构
- **数据完整性**:确保返回的数据包含所有必要的核心信息 → `GetNetworkStackConfigsByCodesAsync`
2. 修复 `GetNetworkStackConfigsByCodesAsync` 方法,添加 `ran.ConfigContent`、`cnc.ConfigContent`、`ims.ConfigContent` 字段
3. 扩展 `NetworkStackConfigWithBindingNamesDto` DTO,添加配置内容字段
4. 同步修复相关方法:`GetNetworkStackConfigByIdWithBindingNamesAsync` 和 `SearchNetworkStackConfigsWithBindingNamesAsync`
### 技术细节
- **DTO扩展**:添加 `RanConfigContent`、`CoreNetworkConfigContent`、`IMSConfigContent` 字段
- **SQL查询优化**:在LEFT JOIN查询中添加配置内容字段的选择
- **方法同步**:确保所有相关方法都返回完整的配置内容信息
- **数据完整性**:确保网络栈配置查询结果包含所有相关的配置内容
## 2025-01-29 创建NetworkStackConfigBasicDto
**修改时间**: 2025年1月29日
**修改文件**:
- `X1.Domain/Models/NetworkStackConfigBasicDto.cs` (新增)
**修改内容**:
1. 创建新的DTO类 `NetworkStackConfigBasicDto`,包含指定的字段子集:
- `NetworkStackName` - 网络栈名称
- `NetworkStackCode` - 网络栈代码
- `RanId` - RAN配置ID
- `CoreNetworkConfigId` - 核心网配置ID
- `IMSConfigId` - IMS配置ID
- `RanConfigContent` - RAN配置内容
- `CoreNetworkConfigContent` - 核心网配置内容
- `IMSConfigContent` - IMS配置内容
### 技术特性
- **字段精简**:只包含用户指定的核心字段
- **配置内容**:包含所有相关的配置内容字段
- **类型安全**:完整的C#属性定义和XML文档注释
- **命名规范**:遵循C#命名规范和项目约定 为 `GetNetworkStackConfigsByCodesAsync`
- **数据完整性**:确保返回的数据包含所有必要的核心信息 为 `GetNetworkStackConfigsByCodesAsync`
2. 修改参数类型从 `string NetworkStackCode` 改为 `string[] networkStackCodes`
3. 更新方法实现以支持多个网络栈编码的查询
4. 添加空数组检查逻辑

Loading…
Cancel
Save