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:"警告信息"` }