2026-04-23 13:53:09 +08:00
|
|
|
|
package dto
|
|
|
|
|
|
|
2026-04-25 10:42:21 +08:00
|
|
|
|
import (
|
|
|
|
|
|
"gitea.com/red-future/common/beans"
|
|
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
|
|
|
|
)
|
2026-04-23 13:53:09 +08:00
|
|
|
|
|
|
|
|
|
|
// CreateTaskReq 创建异步任务
|
|
|
|
|
|
type CreateTaskReq struct {
|
|
|
|
|
|
g.Meta `path:"/createTask" method:"post" tags:"任务管理" summary:"创建异步任务" dc:"创建异步任务并返回任务ID"`
|
|
|
|
|
|
ModelName string `p:"modelName" json:"modelName" v:"required#modelName不能为空" dc:"模型名称"`
|
2026-04-25 10:42:21 +08:00
|
|
|
|
BizName string `p:"bizName" json:"bizName" dc:"业务名称(调用方模块/系统,用于统计)"`
|
2026-04-23 13:53:09 +08:00
|
|
|
|
InputRef string `p:"inputRef" json:"inputRef" dc:"输入引用(如OSS/文件引用等)"`
|
|
|
|
|
|
RequestPayload any `p:"requestPayload" json:"requestPayload" dc:"请求负载(透传给模型服务)"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type CreateTaskRes struct {
|
|
|
|
|
|
TaskID string `json:"taskId" dc:"任务ID"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetTaskResultReq 获取结果(只返回 oss 地址)
|
|
|
|
|
|
type GetTaskResultReq struct {
|
|
|
|
|
|
g.Meta `path:"/getTaskResult" method:"get" tags:"任务管理" summary:"获取任务结果" dc:"根据任务ID获取结果(只返回OSS地址)"`
|
|
|
|
|
|
TaskID string `p:"taskId" json:"taskId" v:"required#taskId不能为空" dc:"任务ID"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type GetTaskResultRes struct {
|
|
|
|
|
|
OssFile string `json:"ossFile" dc:"结果文件OSS地址"`
|
|
|
|
|
|
State int `json:"state" dc:"任务状态"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetTaskBatchReq 批量查询任务(并对成功任务标记为已下载)
|
|
|
|
|
|
type GetTaskBatchReq struct {
|
|
|
|
|
|
g.Meta `path:"/getTaskBatch" method:"post" tags:"任务管理" summary:"批量查询任务" dc:"批量查询任务状态与OSS地址;对成功(state=2)的任务自动标记为已下载(state=4),并写入保留到期时间"`
|
|
|
|
|
|
TaskIDs []string `p:"taskIds" json:"taskIds" v:"required#taskIds不能为空" dc:"任务ID列表"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type GetTaskBatchItem struct {
|
|
|
|
|
|
TaskID string `json:"taskId" dc:"任务ID"`
|
|
|
|
|
|
State int `json:"state" dc:"任务状态"`
|
|
|
|
|
|
OssFile string `json:"ossFile" dc:"结果文件OSS地址"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type GetTaskBatchRes struct {
|
|
|
|
|
|
List []GetTaskBatchItem `json:"list" dc:"任务列表"`
|
|
|
|
|
|
}
|
2026-04-25 10:42:21 +08:00
|
|
|
|
|
|
|
|
|
|
// ListTaskReq 任务列表分页查询
|
|
|
|
|
|
type ListTaskReq struct {
|
|
|
|
|
|
g.Meta `path:"/listTask" method:"post" tags:"任务管理" summary:"任务列表" dc:"分页查询任务列表,支持按状态/模型名称/task_id过滤"`
|
|
|
|
|
|
Page *beans.Page `p:"page" json:"page" dc:"分页参数"`
|
|
|
|
|
|
ModelName string `p:"modelName" json:"modelName" dc:"模型名称(模糊匹配)"`
|
|
|
|
|
|
TaskID string `p:"taskId" json:"taskId" dc:"任务ID(模糊匹配)"`
|
|
|
|
|
|
State *int `p:"state" json:"state" dc:"任务状态(0/1/2/3/4,可选)"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type ListTaskRes struct {
|
|
|
|
|
|
List any `json:"list" dc:"列表数据"`
|
|
|
|
|
|
Total int64 `json:"total" dc:"总数"`
|
|
|
|
|
|
}
|