Files
data-engine/model/dto/dict/api_field_mapping_config_dto.go
2026-04-02 11:51:44 +08:00

222 lines
14 KiB
Go
Raw Permalink 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.
package api_feature
import (
entity "cid/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:"警告信息"`
}