fengling-platform/Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs
movingsam 033fcc9e9b refactor(gateway): 使用值对象替代字符串类型属性
- GwRouteMatch: 路由匹配配置值对象(Path, Methods, Hosts, Headers, QueryParameters)
- GwRouteHeader: Header 匹配规则值对象
- GwRouteQueryParameter: 查询参数匹配规则值对象
- GwLoadBalancingPolicy: 负载均衡策略枚举
- GwTransform: 请求/响应转换规则值对象
- EF Core 使用 ToJson() 将值对象映射为 JSON 列
2026-03-03 20:16:12 +08:00

104 lines
2.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace Fengling.Platform.Domain.AggregatesModel.GatewayAggregate;
/// <summary>
/// 网关租户路由实体 - 表示路由规则配置
/// </summary>
public class GwTenantRoute
{
public string Id { get; set; } = Guid.CreateVersion7().ToString("N");
/// <summary>
/// 租户代码
/// </summary>
public string TenantCode { get; set; } = string.Empty;
/// <summary>
/// 服务名称
/// </summary>
public string ServiceName { get; set; } = string.Empty;
/// <summary>
/// 集群ID
/// </summary>
public string ClusterId { get; set; } = string.Empty;
/// <summary>
/// 路由匹配配置JSON 列存储)
/// </summary>
public GwRouteMatch Match { get; set; } = new();
/// <summary>
/// 优先级(对应 YARP Order数值越小优先级越高
/// </summary>
public int Priority { get; set; } = 0;
/// <summary>
/// 路由级别负载均衡策略覆盖(可选,默认使用集群策略)
/// </summary>
public GwLoadBalancingPolicy? LoadBalancingPolicy { get; set; }
/// <summary>
/// 授权策略名称
/// </summary>
public string? AuthorizationPolicy { get; set; }
/// <summary>
/// CORS 策略名称
/// </summary>
public string? CorsPolicy { get; set; }
/// <summary>
/// 限流策略名称
/// </summary>
public string? RateLimiterPolicy { get; set; }
/// <summary>
/// 请求/响应转换规则JSON 列存储)
/// </summary>
public List<GwTransform>? Transforms { get; set; }
/// <summary>
/// 请求超时时间(秒)
/// </summary>
public int? TimeoutSeconds { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; } = 1;
/// <summary>
/// 是否全局路由
/// </summary>
public bool IsGlobal { get; set; } = false;
/// <summary>
/// 创建人ID
/// </summary>
public long? CreatedBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 更新人ID
/// </summary>
public long? UpdatedBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedTime { get; set; }
/// <summary>
/// 是否删除
/// </summary>
public bool IsDeleted { get; set; } = false;
/// <summary>
/// 版本号,用于乐观并发
/// </summary>
public int Version { get; set; } = 0;
}