重构数据引擎

This commit is contained in:
2026-05-29 18:39:32 +08:00
parent 3ced686cb5
commit 15db71b7ba
132 changed files with 2534 additions and 26198 deletions

View File

@@ -27,6 +27,7 @@ type CreateDatasourcePlatformReq struct {
RequestTimeoutMs int `json:"requestTimeoutMs" dc:"请求超时时间(毫秒)" d:"30000"`
MaxRetries int `json:"maxRetries" dc:"最大重试次数" d:"3"`
RetryDelayMs int `json:"retryDelayMs" dc:"重试延迟(毫秒)" d:"1000"`
AuthConfig map[string]interface{} `json:"authConfig" dc:"自定义认证配置(JSON),支持各平台特有认证方式"`
CreatedBy string `json:"createdBy" v:"required" dc:"创建人"`
CreatedAt string `json:"createdAt" v:"required" dc:"创建时间"`
UpdatedBy string `json:"updatedBy" v:"required" dc:"修改人"`
@@ -108,6 +109,7 @@ type UpdateDatasourcePlatformReq struct {
RequestTimeoutMs int `json:"requestTimeoutMs" dc:"请求超时时间(毫秒)"`
MaxRetries int `json:"maxRetries" dc:"最大重试次数"`
RetryDelayMs int `json:"retryDelayMs" dc:"重试延迟(毫秒)"`
AuthConfig map[string]interface{} `json:"authConfig" dc:"自定义认证配置(JSON)"`
UpdatedBy string `json:"updatedBy" v:"required" dc:"更新人"`
UpdatedAt string `json:"updatedAt" v:"required" dc:"更新时间"`
Version string `json:"version" v:"required" dc:"版本"`

View File

@@ -1,221 +0,0 @@
package api_feature
import (
entity "dataengine/model/entity/dict"
"time"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
// CreateFieldMappingConfigReq 创建字段映射配置请求
type CreateFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs" method:"post" tags:"字段映射配置" summary:"创建字段映射配置" dc:"创建新的字段映射配置"`
ConfigName string `json:"configName" v:"required#配置名称不能为空" dc:"配置名称"`
VendorName string `json:"vendorName" v:"required#厂商名称不能为空" dc:"厂商名称"`
ApiName string `json:"apiName" v:"required#接口名称不能为空" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
SourceField string `json:"sourceField" v:"required#源字段不能为空" dc:"源字段名"`
SourceFieldType string `json:"sourceFieldType" dc:"源字段数据类型"`
SourceFieldDesc string `json:"sourceFieldDesc" dc:"源字段描述"`
TargetField string `json:"targetField" v:"required#目标字段不能为空" dc:"目标字段名"`
TargetFieldType string `json:"targetFieldType" v:"required#目标字段类型不能为空" dc:"目标数据类型"`
TargetFieldDesc string `json:"targetFieldDesc" dc:"字段描述"`
TransformType string `json:"transformType" dc:"转换类型" d:"direct"`
TransformParams map[string]interface{} `json:"transformParams" dc:"转换参数"`
ValidationRules map[string]interface{} `json:"validationRules" dc:"验证规则"`
DefaultValue string `json:"defaultValue" dc:"默认值"`
IsRequired bool `json:"isRequired" dc:"是否必填" d:"false"`
IsActive bool `json:"isActive" dc:"是否启用" d:"true"`
Priority int `json:"priority" dc:"优先级" d:"0"`
BusinessDomain string `json:"businessDomain" dc:"业务域"`
FieldGroup string `json:"fieldGroup" dc:"字段分组"`
ConfigVersion int `json:"configVersion" dc:"配置版本号" d:"1"`
EffectiveDate *time.Time `json:"effectiveDate" dc:"生效时间"`
ExpiryDate *time.Time `json:"expiryDate" dc:"失效时间"`
CreatedBy string `json:"createdBy" dc:"创建人"`
}
// CreateFieldMappingConfigRes 创建字段映射配置响应
type CreateFieldMappingConfigRes struct {
Id int64 `json:"id" dc:"配置ID"`
}
// ListFieldMappingConfigReq 获取字段映射配置列表请求
type ListFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs" method:"get" tags:"字段映射配置" summary:"获取字段映射配置列表" dc:"分页查询字段映射配置列表"`
*beans.Page
ConfigName string `json:"configName" dc:"配置名称"`
VendorName string `json:"vendorName" dc:"厂商名称"`
ApiName string `json:"apiName" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
SourceField string `json:"sourceField" dc:"源字段名"`
TargetField string `json:"targetField" dc:"目标字段名"`
TransformType string `json:"transformType" dc:"转换类型"`
IsActive *bool `json:"isActive" dc:"是否启用"`
BusinessDomain string `json:"businessDomain" dc:"业务域"`
FieldGroup string `json:"fieldGroup" dc:"字段分组"`
Keyword string `json:"keyword" dc:"关键字搜索"`
}
// ListFieldMappingConfigRes 获取字段映射配置列表响应
type ListFieldMappingConfigRes struct {
List []FieldMappingConfigItem `json:"list" dc:"配置列表"`
Total int `json:"total" dc:"总数"`
}
// FieldMappingConfigItem 字段映射配置列表项
type FieldMappingConfigItem struct {
Id int64 `json:"id,string" dc:"配置ID"`
ConfigName string `json:"configName" dc:"配置名称"`
VendorName string `json:"vendorName" dc:"厂商名称"`
ApiName string `json:"apiName" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
SourceField string `json:"sourceField" dc:"源字段名"`
TargetField string `json:"targetField" dc:"目标字段名"`
TargetFieldType string `json:"targetFieldType" dc:"目标数据类型"`
TransformType string `json:"transformType" dc:"转换类型"`
TransformTypeName string `json:"transformTypeName" dc:"转换类型名称"`
IsActive bool `json:"isActive" dc:"是否启用"`
Priority int `json:"priority" dc:"优先级"`
BusinessDomain string `json:"businessDomain" dc:"业务域"`
BusinessDomainName string `json:"businessDomainName" dc:"业务域名称"`
FieldGroup string `json:"fieldGroup" dc:"字段分组"`
ConfigVersion int `json:"configVersion" dc:"配置版本号"`
CreatedBy string `json:"createdBy" dc:"创建人"`
CreatedTime time.Time `json:"createdTime" dc:"创建时间"`
UpdatedBy string `json:"updatedBy" dc:"更新人"`
UpdatedTime time.Time `json:"updatedTime" dc:"更新时间"`
}
// GetFieldMappingConfigReq 获取字段映射配置详情请求
type GetFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs/{id}" method:"get" tags:"字段映射配置" summary:"获取字段映射配置详情" dc:"获取字段映射配置详情"`
Id int64 `json:"id" v:"required#配置ID不能为空" dc:"配置ID"`
}
// GetFieldMappingConfigRes 获取字段映射配置详情响应
type GetFieldMappingConfigRes struct {
*entity.FieldMappingConfig
TransformTypeName string `json:"transformTypeName,omitempty" dc:"转换类型名称"`
BusinessDomainName string `json:"businessDomainName,omitempty" dc:"业务域名称"`
}
// UpdateFieldMappingConfigReq 更新字段映射配置请求
type UpdateFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs/{id}" method:"put" tags:"字段映射配置" summary:"更新字段映射配置" dc:"更新字段映射配置信息"`
Id int64 `json:"id" v:"required#配置ID不能为空" dc:"配置ID"`
ConfigName string `json:"configName" dc:"配置名称"`
VendorName string `json:"vendorName" dc:"厂商名称"`
ApiName string `json:"apiName" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
SourceField string `json:"sourceField" dc:"源字段名"`
SourceFieldType string `json:"sourceFieldType" dc:"源字段数据类型"`
SourceFieldDesc string `json:"sourceFieldDesc" dc:"源字段描述"`
TargetField string `json:"targetField" dc:"目标字段名"`
TargetFieldType string `json:"targetFieldType" dc:"目标数据类型"`
TargetFieldDesc string `json:"targetFieldDesc" dc:"字段描述"`
TransformType string `json:"transformType" dc:"转换类型"`
TransformParams map[string]interface{} `json:"transformParams" dc:"转换参数"`
ValidationRules map[string]interface{} `json:"validationRules" dc:"验证规则"`
DefaultValue string `json:"defaultValue" dc:"默认值"`
IsRequired bool `json:"isRequired" dc:"是否必填"`
IsActive bool `json:"isActive" dc:"是否启用"`
Priority int `json:"priority" dc:"优先级"`
BusinessDomain string `json:"businessDomain" dc:"业务域"`
FieldGroup string `json:"fieldGroup" dc:"字段分组"`
ConfigVersion int `json:"configVersion" dc:"配置版本号"`
EffectiveDate *time.Time `json:"effectiveDate" dc:"生效时间"`
ExpiryDate *time.Time `json:"expiryDate" dc:"失效时间"`
UpdatedBy string `json:"updatedBy" dc:"更新人"`
}
// DeleteFieldMappingConfigReq 删除字段映射配置请求
type DeleteFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs/{id}" method:"delete" tags:"字段映射配置" summary:"删除字段映射配置" dc:"删除字段映射配置"`
Id int64 `json:"id" v:"required#配置ID不能为空" dc:"配置ID"`
}
// UpdateFieldMappingConfigStatusReq 更新字段映射配置状态请求
type UpdateFieldMappingConfigStatusReq struct {
g.Meta `path:"/field-mapping-configs/{id}/status" method:"put" tags:"字段映射配置" summary:"更新字段映射配置状态" dc:"更新字段映射配置状态"`
Id int64 `json:"id" v:"required#配置ID不能为空" dc:"配置ID"`
IsActive bool `json:"isActive" v:"required#状态不能为空" dc:"是否启用true启用/false停用"`
}
// BatchCreateFieldMappingConfigReq 批量创建字段映射配置请求
type BatchCreateFieldMappingConfigReq struct {
g.Meta `path:"/field-mapping-configs/batch" method:"post" tags:"字段映射配置" summary:"批量创建字段映射配置" dc:"批量创建字段映射配置"`
Configs []BatchFieldMappingConfigItem `json:"configs" v:"required#配置列表不能为空" dc:"配置列表"`
}
// BatchFieldMappingConfigItem 批量创建配置项
type BatchFieldMappingConfigItem struct {
ConfigName string `json:"configName" v:"required#配置名称不能为空" dc:"配置名称"`
VendorName string `json:"vendorName" v:"required#厂商名称不能为空" dc:"厂商名称"`
ApiName string `json:"apiName" v:"required#接口名称不能为空" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
SourceField string `json:"sourceField" v:"required#源字段不能为空" dc:"源字段名"`
SourceFieldType string `json:"sourceFieldType" dc:"源字段数据类型"`
SourceFieldDesc string `json:"sourceFieldDesc" dc:"源字段描述"`
TargetField string `json:"targetField" v:"required#目标字段不能为空" dc:"目标字段名"`
TargetFieldType string `json:"targetFieldType" v:"required#目标字段类型不能为空" dc:"目标数据类型"`
TargetFieldDesc string `json:"targetFieldDesc" dc:"字段描述"`
TransformType string `json:"transformType" dc:"转换类型" d:"direct"`
TransformParams map[string]interface{} `json:"transformParams" dc:"转换参数"`
ValidationRules map[string]interface{} `json:"validationRules" dc:"验证规则"`
DefaultValue string `json:"defaultValue" dc:"默认值"`
IsRequired bool `json:"isRequired" dc:"是否必填" d:"false"`
IsActive bool `json:"isActive" dc:"是否启用" d:"true"`
Priority int `json:"priority" dc:"优先级" d:"0"`
BusinessDomain string `json:"businessDomain" dc:"业务域"`
FieldGroup string `json:"fieldGroup" dc:"字段分组"`
ConfigVersion int `json:"configVersion" dc:"配置版本号" d:"1"`
}
// BatchCreateFieldMappingConfigRes 批量创建字段映射配置响应
type BatchCreateFieldMappingConfigRes struct {
SuccessCount int `json:"successCount" dc:"成功数量"`
FailedCount int `json:"failedCount" dc:"失败数量"`
FailedItems []BatchCreateFailedItem `json:"failedItems" dc:"失败项列表"`
}
// BatchCreateFailedItem 批量创建失败项
type BatchCreateFailedItem struct {
Index int `json:"index" dc:"项索引"`
ConfigName string `json:"configName" dc:"配置名称"`
Error string `json:"error" dc:"错误信息"`
}
// QueryFieldMappingByVendorApiReq 根据厂商和接口查询字段映射请求
type QueryFieldMappingByVendorApiReq struct {
g.Meta `path:"/field-mapping-configs/query" method:"get" tags:"字段映射配置" summary:"根据厂商和接口查询字段映射" dc:"根据厂商和接口查询字段映射配置"`
VendorName string `json:"vendorName" v:"required#厂商名称不能为空" dc:"厂商名称"`
ApiName string `json:"apiName" v:"required#接口名称不能为空" dc:"接口名称"`
ApiVersion string `json:"apiVersion" dc:"接口版本"`
IsActive *bool `json:"isActive" dc:"是否启用" d:"true"`
}
// QueryFieldMappingByVendorApiRes 根据厂商和接口查询字段映射响应
type QueryFieldMappingByVendorApiRes struct {
List []*entity.FieldMappingConfig `json:"list" dc:"字段映射配置列表"`
}
// ValidateFieldMappingReq 验证字段映射配置请求
type ValidateFieldMappingReq struct {
g.Meta `path:"/field-mapping-configs/validate" method:"post" tags:"字段映射配置" summary:"验证字段映射配置" dc:"验证字段映射配置的有效性"`
ConfigName string `json:"configName" v:"required#配置名称不能为空" dc:"配置名称"`
VendorName string `json:"vendorName" v:"required#厂商名称不能为空" dc:"厂商名称"`
ApiName string `json:"apiName" v:"required#接口名称不能为空" dc:"接口名称"`
SourceField string `json:"sourceField" v:"required#源字段不能为空" dc:"源字段名"`
TargetField string `json:"targetField" v:"required#目标字段不能为空" dc:"目标字段名"`
TestValue interface{} `json:"testValue" dc:"测试值"`
}
// ValidateFieldMappingRes 验证字段映射配置响应
type ValidateFieldMappingRes struct {
IsValid bool `json:"isValid" dc:"是否有效"`
TransformedValue interface{} `json:"transformedValue" dc:"转换后的值"`
Error string `json:"error" dc:"错误信息"`
Warnings []string `json:"warnings" dc:"警告信息"`
}

View File

@@ -10,17 +10,18 @@ import (
// CreateApiInterfaceReq 创建接口请求
type CreateApiInterfaceReq struct {
g.Meta `path:"/createApiInterface" method:"post" tags:"接口管理" summary:"创建接口" dc:"创建新的数据接口"`
PlatformId int64 `json:"platformId" v:"required" dc:"所属平台ID"`
Name string `json:"name" v:"required" dc:"接口名称"`
Code string `json:"code" v:"required" dc:"接口编码"`
Url string `json:"url" v:"required" dc:"接口地址"`
Method api_feature.ApiMethod `json:"method" v:"required" dc:"请求方法"`
Status api_feature.PlatformStatus `json:"status" dc:"接口状态" d:"active"`
AuthType string `json:"authType" dc:"认证类型"`
RequestConfig map[string]interface{} `json:"requestConfig" dc:"请求配置"`
ResponseConfig map[string]interface{} `json:"responseConfig" dc:"响应配置"`
LimitConfig map[string]interface{} `json:"limitConfig" dc:"接口独立限流配置"`
g.Meta `path:"/createApiInterface" method:"post" tags:"接口管理" summary:"创建接口" dc:"创建新的数据接口"`
PlatformId int64 `json:"platformId" v:"required" dc:"所属平台ID"`
Name string `json:"name" v:"required" dc:"接口名称"`
Code string `json:"code" v:"required" dc:"接口编码"`
Url string `json:"url" v:"required" dc:"接口地址"`
Method api_feature.ApiMethod `json:"method" v:"required" dc:"请求方法"`
Status api_feature.PlatformStatus `json:"status" dc:"接口状态" d:"active"`
AuthType string `json:"authType" dc:"认证类型"`
RequestConfig map[string]interface{} `json:"requestConfig" dc:"请求配置"`
ResponseConfig map[string]interface{} `json:"responseConfig" dc:"响应配置"`
LimitConfig map[string]interface{} `json:"limitConfig" dc:"接口独立限流配置"`
TableDefinition map[string]interface{} `json:"tableDefinition" dc:"表结构定义(JSON),用于自动建表"`
}
// CreateApiInterfaceRes 创建接口响应
@@ -74,18 +75,19 @@ type GetApiInterfaceRes struct {
// UpdateApiInterfaceReq 更新接口请求
type UpdateApiInterfaceReq struct {
g.Meta `path:"/updateApiInterface" method:"put" tags:"接口管理" summary:"更新接口" dc:"更新接口信息"`
Id int64 `json:"id" v:"required" dc:"接口ID"`
PlatformId int64 `json:"platformId" dc:"所属平台ID"`
Name string `json:"name" dc:"接口名称"`
Code string `json:"code" dc:"接口编码"`
Url string `json:"url" dc:"接口地址"`
Method api_feature.ApiMethod `json:"method" dc:"请求方法"`
Status api_feature.PlatformStatus `json:"status,omitempty" dc:"接口状态"`
AuthType string `json:"authType" dc:"认证类型"`
RequestConfig map[string]interface{} `json:"requestConfig" dc:"请求配置"`
ResponseConfig map[string]interface{} `json:"responseConfig" dc:"响应配置"`
LimitConfig map[string]interface{} `json:"limitConfig" dc:"接口独立限流配置"`
g.Meta `path:"/updateApiInterface" method:"put" tags:"接口管理" summary:"更新接口" dc:"更新接口信息"`
Id int64 `json:"id" v:"required" dc:"接口ID"`
PlatformId int64 `json:"platformId" dc:"所属平台ID"`
Name string `json:"name" dc:"接口名称"`
Code string `json:"code" dc:"接口编码"`
Url string `json:"url" dc:"接口地址"`
Method api_feature.ApiMethod `json:"method" dc:"请求方法"`
Status api_feature.PlatformStatus `json:"status,omitempty" dc:"接口状态"`
AuthType string `json:"authType" dc:"认证类型"`
RequestConfig map[string]interface{} `json:"requestConfig" dc:"请求配置"`
ResponseConfig map[string]interface{} `json:"responseConfig" dc:"响应配置"`
LimitConfig map[string]interface{} `json:"limitConfig" dc:"接口独立限流配置"`
TableDefinition map[string]interface{} `json:"tableDefinition" dc:"表结构定义(JSON),用于自动建表"`
}
// DeleteApiInterfaceReq 删除接口请求