package mapping import ( "cid/consts/mapping" entity "cid/model/entity/mapping" "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/frame/g" ) // CreateDataMappingReq 创建数据映射请求 type CreateDataMappingReq struct { g.Meta `path:"/createDataMapping" method:"post" tags:"数据映射" summary:"创建数据映射" dc:"创建数据映射规则"` PlatformId int64 `json:"platformId" v:"required" dc:"平台ID"` InterfaceId int64 `json:"interfaceId" v:"required" dc:"接口ID"` SourceField string `json:"sourceField" v:"required" dc:"源字段"` TargetField string `json:"targetField" v:"required" dc:"目标字段"` FieldType string `json:"fieldType" v:"required" dc:"字段类型"` DefaultValue string `json:"defaultValue" dc:"默认值"` TransformRule map[string]interface{} `json:"transformRule" dc:"转换规则"` Priority int `json:"priority" dc:"优先级" d:"0"` Status mapping.MappingStatus `json:"status" dc:"状态" d:"active"` } // CreateDataMappingRes 创建数据映射响应 type CreateDataMappingRes struct { Id int64 `json:"id" dc:"映射ID"` } // ListDataMappingReq 获取数据映射列表请求 type ListDataMappingReq struct { g.Meta `path:"/listDataMappings" method:"get" tags:"数据映射" summary:"获取数据映射列表" dc:"分页查询数据映射列表"` *beans.Page PlatformId int64 `json:"platformId" dc:"平台ID"` InterfaceId int64 `json:"interfaceId" dc:"接口ID"` SourceField string `json:"sourceField" dc:"源字段"` TargetField string `json:"targetField" dc:"目标字段"` Status mapping.MappingStatus `json:"status" dc:"状态"` } // ListDataMappingRes 获取数据映射列表响应 type ListDataMappingRes struct { List []DataMappingItem `json:"list" dc:"映射列表"` Total int `json:"total" dc:"总数"` } type DataMappingItem struct { Id int64 `json:"id,string"` PlatformId int64 `json:"platformId"` PlatformName string `json:"platformName"` InterfaceId int64 `json:"interfaceId"` InterfaceName string `json:"interfaceName"` SourceField string `json:"sourceField"` TargetField string `json:"targetField"` FieldType string `json:"fieldType"` DefaultValue string `json:"defaultValue"` TransformRule map[string]interface{} `json:"transformRule"` Priority int `json:"priority"` Status mapping.MappingStatus `json:"status"` StatusName string `json:"statusName"` CreatedAt int64 `json:"createdAt"` UpdatedAt int64 `json:"updatedAt"` } // GetDataMappingReq 获取数据映射详情请求 type GetDataMappingReq struct { g.Meta `path:"/getDataMapping" method:"get" tags:"数据映射" summary:"获取数据映射详情" dc:"获取数据映射详情"` Id int64 `json:"id" v:"required" dc:"映射ID"` } // GetDataMappingRes 获取数据映射详情响应 type GetDataMappingRes struct { *entity.DataMapping PlatformName string `json:"platformName,omitempty"` InterfaceName string `json:"interfaceName,omitempty"` } // UpdateDataMappingReq 更新数据映射请求 type UpdateDataMappingReq struct { g.Meta `path:"/updateDataMapping" method:"put" tags:"数据映射" summary:"更新数据映射" dc:"更新数据映射规则"` Id int64 `json:"id" v:"required" dc:"映射ID"` PlatformId int64 `json:"platformId" dc:"平台ID"` InterfaceId int64 `json:"interfaceId" dc:"接口ID"` SourceField string `json:"sourceField" dc:"源字段"` TargetField string `json:"targetField" dc:"目标字段"` FieldType string `json:"fieldType" dc:"字段类型"` DefaultValue string `json:"defaultValue" dc:"默认值"` TransformRule map[string]interface{} `json:"transformRule" dc:"转换规则"` Priority int `json:"priority" dc:"优先级"` Status mapping.MappingStatus `json:"status,omitempty" dc:"状态"` } // DeleteDataMappingReq 删除数据映射请求 type DeleteDataMappingReq struct { g.Meta `path:"/deleteDataMapping" method:"delete" tags:"数据映射" summary:"删除数据映射" dc:"删除数据映射"` Id int64 `json:"id" v:"required" dc:"映射ID"` } // BatchCreateDataMappingReq 批量创建数据映射请求 type BatchCreateDataMappingReq struct { g.Meta `path:"/batchCreateDataMappings" method:"post" tags:"数据映射" summary:"批量创建数据映射" dc:"批量创建数据映射规则"` PlatformId int64 `json:"platformId" v:"required" dc:"平台ID"` InterfaceId int64 `json:"interfaceId" v:"required" dc:"接口ID"` Mappings []CreateDataMappingReq `json:"mappings" v:"required" dc:"映射规则列表"` } // BatchCreateDataMappingRes 批量创建数据映射响应 type BatchCreateDataMappingRes struct { SuccessCount int `json:"successCount" dc:"成功数量"` FailedCount int `json:"failedCount" dc:"失败数量"` Ids []int64 `json:"ids" dc:"映射ID列表"` } // ExecuteDataMappingReq 执行数据映射请求 type ExecuteDataMappingReq struct { g.Meta `path:"/executeDataMapping" method:"post" tags:"数据映射" summary:"执行数据映射" dc:"执行数据字段映射"` InterfaceId int64 `json:"interfaceId" v:"required" dc:"接口ID"` SourceData map[string]interface{} `json:"sourceData" v:"required" dc:"源数据"` } // ExecuteDataMappingRes 执行数据映射响应 type ExecuteDataMappingRes struct { TargetData map[string]interface{} `json:"targetData" dc:"目标数据"` AppliedRules []string `json:"appliedRules" dc:"应用的映射规则"` }