Files
cid/model/dto/mapping/data_mapping_dto.go
2026-03-23 14:08:11 +08:00

126 lines
6.0 KiB
Go

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:"应用的映射规则"`
}