Skip to content

Latest commit

 

History

History
363 lines (297 loc) · 10 KB

File metadata and controls

363 lines (297 loc) · 10 KB

tasks(任务表)

任务表,存储作品生产的任务信息,合并了原队列表和生产表的功能。

字段说明

字段 类型 说明
id INTEGER 内部主键
task_id VARCHAR(36) 任务ID(字符串格式,可空)
work_id VARCHAR(32) 作品ID(关联作品表)
status ENUM 任务状态(QUEUING/PRODUCING/COMPLETED/FAILED)
is_deleted INTEGER 软删除标记(0-未删除,1-已删除)
created_at BIGINT 创建时间(毫秒时间戳)
updated_at BIGINT 更新时间(毫秒时间戳)

任务状态枚举

枚举值 说明
QUEUING 排队中
PRODUCING 生产中
COMPLETED 已完成
FAILED 已失败

索引

索引名 字段 说明
idx_task_id task_id 唯一索引,加速按任务ID查询
idx_work_id work_id 加速按作品ID查询
idx_status status 加速按任务状态查询
idx_deleted_status is_deleted, status 加速按删除状态和状态的复合查询

API接口

接口 方法 说明 权限
/task/create POST 创建任务 管理员
/task/list POST 查询任务列表 管理员
/task/detail POST 查询任务详情 管理员
/task/update POST 更新任务 管理员
/task/delete POST 删除任务 管理员
/task/public/list POST 公开查询待处理任务列表 公开
/task/public/detail POST 公开查询任务详情 公开
/task/upload POST 上传作品文件 公开

接口详情

创建任务 /task/create

请求:

{
    "work_id": "20260426123456789ABC1234",
    "status": "QUEUING"
}

响应:

{
    "state": 200,
    "message": "任务创建成功",
    "data": {
        "id": 1,
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "work_id": "20260426123456789ABC1234",
        "status": "QUEUING",
        "created_at": 1745568000000,
        "updated_at": 1745568000000,
        "is_deleted": 0
    }
}

查询任务列表 /task/list

请求:

{
    "work_id": "20260426123456789ABC1234",
    "status": "QUEUING",
    "page": 1,
    "page_size": 10
}

响应:

{
    "state": 200,
    "message": "查询成功",
    "data": {
        "list": [...],
        "total": 1,
        "page": 1,
        "page_size": 10,
        "pages": 1
    }
}

查询任务详情 /task/detail

请求:

{
    "id": 1
}

响应:

{
    "state": 200,
    "message": "查询成功",
    "data": {
        "id": 1,
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "work_id": "20260426123456789ABC1234",
        "status": "QUEUING",
        "created_at": 1745568000000,
        "updated_at": 1745568000000,
        "is_deleted": 0
    }
}

更新任务 /task/update

请求:

{
    "id": 1,
    "status": "PRODUCING"
}

响应:

{
    "state": 200,
    "message": "任务更新成功",
    "data": {
        "id": 1,
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "work_id": "20260426123456789ABC1234",
        "status": "PRODUCING",
        "created_at": 1745568000000,
        "updated_at": 1745568001000,
        "is_deleted": 0
    }
}

公开更新任务 /task/public/update

请求:

{
    "work_id": "20260426123456789ABC1234",
    "task_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "PRODUCING"
}

响应:

{
    "state": 200,
    "message": "任务更新成功",
    "data": {
        "id": 1,
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "work_id": "20260426123456789ABC1234",
        "status": "PRODUCING",
        "created_at": 1745568000000,
        "updated_at": 1745568001000,
        "is_deleted": 0
    }
}

删除任务 /task/delete

请求:

{
    "id": 1
}

响应:

{
    "state": 200,
    "message": "任务删除成功"
}

公开查询任务列表 /task/public/list

请求:

{
    "status": "QUEUING"  // 可选,不提供则查询所有状态
}

响应:

{
    "state": 200,
    "message": "查询成功",
    "data": {
        "list": [
            {
                "id": 1,
                "task_id": "550e8400-e29b-41d4-a716-446655440000",
                "work_id": "20260426123456789ABC1234",
                "status": "QUEUING",
                "created_at": 1745568000000,
                "updated_at": 1745568000000,
                "is_deleted": 0
            }
        ]
    }
}

公开查询任务详情 /task/public/detail

请求:

{
    "work_id": "20260426123456789ABC1234"
}

响应:

{
    "state": 200,
    "message": "查询成功",
    "data": {
        "task": {
            "id": 1,
            "task_id": "550e8400-e29b-41d4-a716-446655440000",
            "work_id": "20260426123456789ABC1234",
            "status": "QUEUING",
            "created_at": 1745568000000,
            "updated_at": 1745568000000,
            "is_deleted": 0
        },
        "work": {
            "id": 1,
            "work_id": "20260426123456789ABC1234",
            "user_uuid": "123e4567-e89b-12d3-a456-426614174000",
            "points_consumed": 10.0,
            "models": [1, 2],
            "content": "生成一只猫的图片",
            "extra_info": "",
            "creation_type": "IMAGE",
            "time_tag": "20260426",
            "result_info": [],
            "tags": [],
            "status": "QUEUING",
            "created_at": 1745568000000,
            "updated_at": 1745568000000,
            "is_deleted": 0
        },
        "models": [
            {
                "id": 1,
                "model_name": "SDXL-Turbo",
                "model_type": "TEXT_TO_IMAGE",
                "config_info": {...},
                "workflow": "text_to_image_workflow",
                "points": 10.0,
                "created_at": 1745568000000,
                "updated_at": 1745568000000,
                "is_deleted": 0
            }
        ]
    }
}

上传作品文件 /task/upload

请求:(form-data格式)

  • work_id: 作品ID
  • task_id: 任务ID
  • file: 文件

响应:

{
    "state": 200,
    "message": "文件上传成功",
    "data": {
        "file_path": "uploads/productions/20260426123456789ABC1234/550e8400-e29b-41d4-a716-446655440000_1234567890abcdef.png",
        "file_url": "/uploads/productions/20260426123456789ABC1234/550e8400-e29b-41d4-a716-446655440000_1234567890abcdef.png",
        "original_filename": "cat.png",
        "file_size": 1024000
    }
}