---
phase: 03-
plan: 02
type: execute
wave: 1
depends_on:
- 03-gateway-cluster-entities
files_modified:
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenant.cs
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwServiceInstance.cs
autonomous: true
requirements:
- GATEWAY-RESTRUCTURE-03
- GATEWAY-RESTRUCTURE-04
must_haves:
truths:
- "GwTenantRoute 扩展了 Methods, Hosts, Headers, Transforms 等字段"
- "旧实体 GwTenant 和 GwServiceInstance 标记为删除或移除"
artifacts:
- path: "Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs"
provides: "扩展的路由实体"
min_lines: 50
---
# 计划 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 中添加以下新字段:
1. 路由匹配能力:
- Methods?: string (HTTP 方法,如 "GET,POST")
- Hosts?: string (Host 头匹配,如 "api.example.com")
- Headers?: string (Header 匹配规则,JSON 格式)
2. 策略配置:
- LoadBalancingPolicy?: string (路由级别负载均衡策略覆盖)
- AuthorizationPolicy?: string (授权策略)
- CorsPolicy?: string (CORS 策略)
3. 请求转换:
- 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 层更新。