diff --git a/src/InterfaceForward.Domain/GlobalUsings.cs b/src/InterfaceForward.Domain/GlobalUsings.cs index d6f38f7..2c0162e 100644 --- a/src/InterfaceForward.Domain/GlobalUsings.cs +++ b/src/InterfaceForward.Domain/GlobalUsings.cs @@ -1,4 +1,3 @@ // Global using directives -global using Fake.DomainDrivenDesign; -global using InterfaceForward.Domain.Enumerations; \ No newline at end of file +global using Fake.DomainDrivenDesign; \ No newline at end of file diff --git a/src/InterfaceForward.Domain/InterfaceForward.Domain.csproj b/src/InterfaceForward.Domain/InterfaceForward.Domain.csproj index db60c9b..f551815 100644 --- a/src/InterfaceForward.Domain/InterfaceForward.Domain.csproj +++ b/src/InterfaceForward.Domain/InterfaceForward.Domain.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderAggregate.cs b/src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderAggregate.cs new file mode 100644 index 0000000..c306397 --- /dev/null +++ b/src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderAggregate.cs @@ -0,0 +1,40 @@ +using System; +using Fake.DomainDrivenDesign.Entities.Auditing; + +namespace InterfaceForward.Domain.ServiceProviderAggregate; + +public class ServiceProviderAggregate(string name, string code, string description, string? flowCode = null) + : FullAuditedAggregate +{ + /// + /// 服务商名称 + /// + public string Name { get; set; } = name; + + /// + /// 服务商代码 + /// + public string Code { get; set; } = code; + + /// + /// 描述 + /// + public string Description { get; set; } = description; + + /// + /// 流程代码 + /// + public string? FlowCode { get; set; } = flowCode; + + /// + /// 授权接口Code + /// + public string? AuthInterfaceCode { get; set; } + + /// + /// 请求超时(s) + /// + public int Timeout { get; set; } = 20; + + +} \ No newline at end of file diff --git a/src/InterfaceForward.Domain/Aggregates/InterfaceAggregate/InterfaceEntity.cs b/src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderInterfaceEntity.cs similarity index 72% rename from src/InterfaceForward.Domain/Aggregates/InterfaceAggregate/InterfaceEntity.cs rename to src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderInterfaceEntity.cs index 90cb9b5..d71efb0 100644 --- a/src/InterfaceForward.Domain/Aggregates/InterfaceAggregate/InterfaceEntity.cs +++ b/src/InterfaceForward.Domain/ServiceProviderAggregate/ServiceProviderInterfaceEntity.cs @@ -1,24 +1,28 @@ using System; using Fake.DomainDrivenDesign.Entities.Auditing; +using InterfaceForward.Domain.UpStreamInterfaceAggregate; -namespace InterfaceForward.Domain.Aggregates.InterfaceAggregate; +namespace InterfaceForward.Domain.ServiceProviderAggregate; -public class InterfaceEntity: FullAuditedEntity +public class ServiceProviderInterfaceEntity : FullAuditedEntity { public int ServiceProviderId { get; private set; } - + public string Name { get; private set; } - - public ServiceType ServiceType { get; set; } - + public string Code { get; private set; } - + + /// + /// 描述 + /// + public string Description { get; set; } + public string RequestAddress { get; private set; } - + public string RequestMethod { get; private set; } - + public RequestContentType RequestContentType { get; private set; } - + public ResponseContentType ResponseContentType { get; private set; } public string FlowCode { get; private set; } @@ -29,11 +33,14 @@ public class InterfaceEntity: FullAuditedEntity /// 接口单次请求数量上限,默认是1,表示不支持批量处理 /// public int Limit { get; private set; } = 1; - + + /// + /// 默认0,无限制 + /// public int Qps { get; private set; } - + /// /// 映射后的数据类型 /// public ParameterType MappedType { get; set; } = ParameterType.Object; -} +} \ No newline at end of file diff --git a/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/InterfaceMapEntity.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/InterfaceMapEntity.cs new file mode 100644 index 0000000..91804c9 --- /dev/null +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/InterfaceMapEntity.cs @@ -0,0 +1,42 @@ +using System; +using Fake.DomainDrivenDesign.Entities.Auditing; + +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; + +/// +/// 上游接口映射服务商接口(1:N) +/// +public class InterfaceMapEntity: CreateAuditedEntity, ISoftDelete +{ + /// + /// 上游接口代码 + /// + public string UpStreamInterfaceCode { get; private set; } + + /// + /// 映射服务商代码 + /// + public string ServiceProviderCode { get; private set; } + + /// + /// 映射服务商接口代码 + /// + public string ServiceProviderInterfaceCode { get; private set; } + + /// + /// 当前线上版本 + /// + public string PublishedVersion { get; set; } + + /// + /// 前置脚本 + /// + public string PrefixScript { get; set; } + + /// + /// 后置脚本 + /// + public string PostfixScript { get; set; } + + public bool IsDeleted { get; } +} \ No newline at end of file diff --git a/src/InterfaceForward.Domain/Enumerations/ParameterType.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ParameterType.cs similarity index 88% rename from src/InterfaceForward.Domain/Enumerations/ParameterType.cs rename to src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ParameterType.cs index a542b7d..e37daab 100644 --- a/src/InterfaceForward.Domain/Enumerations/ParameterType.cs +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ParameterType.cs @@ -1,4 +1,4 @@ -namespace InterfaceForward.Domain.Enumerations; +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; public class ParameterType(int id, string name) : Enumeration(id, name) { diff --git a/src/InterfaceForward.Domain/Enumerations/RequestContentType.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/RequestContentType.cs similarity index 83% rename from src/InterfaceForward.Domain/Enumerations/RequestContentType.cs rename to src/InterfaceForward.Domain/UpStreamInterfaceAggregate/RequestContentType.cs index 7e2d332..c6d2b92 100644 --- a/src/InterfaceForward.Domain/Enumerations/RequestContentType.cs +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/RequestContentType.cs @@ -1,4 +1,4 @@ -namespace InterfaceForward.Domain.Enumerations; +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; public class RequestContentType(int id, string name) : Enumeration(id, name) { diff --git a/src/InterfaceForward.Domain/Enumerations/ResponseContentType.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ResponseContentType.cs similarity index 57% rename from src/InterfaceForward.Domain/Enumerations/ResponseContentType.cs rename to src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ResponseContentType.cs index 006bc4b..c0a8aac 100644 --- a/src/InterfaceForward.Domain/Enumerations/ResponseContentType.cs +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ResponseContentType.cs @@ -1,4 +1,4 @@ -namespace InterfaceForward.Domain.Enumerations; +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; public class ResponseContentType(int id, string name) : Enumeration(id, name) { diff --git a/src/InterfaceForward.Domain/Enumerations/ServiceType.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ServiceType.cs similarity index 75% rename from src/InterfaceForward.Domain/Enumerations/ServiceType.cs rename to src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ServiceType.cs index 727e0ff..ed7bf46 100644 --- a/src/InterfaceForward.Domain/Enumerations/ServiceType.cs +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/ServiceType.cs @@ -1,4 +1,4 @@ -namespace InterfaceForward.Domain.Enumerations; +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; public class ServiceType(int id, string name) : Enumeration(id, name) { diff --git a/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/UpStreamInterfaceAggregate.cs b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/UpStreamInterfaceAggregate.cs new file mode 100644 index 0000000..7a7124d --- /dev/null +++ b/src/InterfaceForward.Domain/UpStreamInterfaceAggregate/UpStreamInterfaceAggregate.cs @@ -0,0 +1,16 @@ +using System; +using Fake.DomainDrivenDesign.Entities.Auditing; + +namespace InterfaceForward.Domain.UpStreamInterfaceAggregate; + +public class UpStreamInterfaceAggregate(string name, string code) : FullAuditedAggregate +{ + public string Name { get; private set; } = name; + + public string Code { get; private set; } = code; + + /// + /// 描述 + /// + public string? Description { get; set; } +}