3.2 KiB
3.2 KiB
| phase | plan | type | wave | depends_on | files_modified | autonomous | requirements | must_haves | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03- | 02 | execute | 1 |
|
|
true |
|
|
计划 02: 扩展 GwTenantRoute 并删除旧实体
目标
扩展 GwTenantRoute 实体以支持完整的路由匹配能力和转换规则,并删除已废弃的 GwTenant 和 GwServiceInstance 实体。
目的: 添加 YARP 所需的路由匹配字段,同时清理不再需要的实体。
输出: 更新的 GwTenantRoute.cs,删除的 GwTenant.cs 和 GwServiceInstance.cs。
上下文
@.planning/phases/03-/03-CONTEXT.md @Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs (现有)
任务
任务 1: 扩展 GwTenantRoute 字段 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs 在 GwTenantRoute 中添加以下新字段:-
路由匹配能力:
- Methods?: string (HTTP 方法,如 "GET,POST")
- Hosts?: string (Host 头匹配,如 "api.example.com")
- Headers?: string (Header 匹配规则,JSON 格式)
-
策略配置:
- LoadBalancingPolicy?: string (路由级别负载均衡策略覆盖)
- AuthorizationPolicy?: string (授权策略)
- CorsPolicy?: string (CORS 策略)
-
请求转换:
- Transforms?: string (请求/响应转换规则,JSON 格式)
保留现有字段:Id, TenantCode, ServiceName, ClusterId, PathPattern, Priority, Status, IsGlobal dotnet build 通过 GwTenantRoute 已扩展新字段
任务 2: 删除 GwTenant 实体 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenant.cs 删除 GwTenant.cs 文件: - 原因:使用 Platform.Tenant 通过 TenantCode 关联 - 确认无其他依赖引用此实体 dotnet build 通过 GwTenant 实体已删除 任务 3: 删除 GwServiceInstance 实体 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwServiceInstance.cs 删除 GwServiceInstance.cs 文件: - 原因:改用 GwCluster 聚合根内嵌 Destination - 确认无其他依赖引用此实体 dotnet build 通过 GwServiceInstance 实体已删除验证
- GwTenantRoute 扩展字段已添加
- GwTenant.cs 已删除
- GwServiceInstance.cs 已删除
- Build 无错误通过
成功标准
Domain 层实体重构完成,准备进行 Infrastructure 层更新。