package com.lesingle.creation.vo.ai3d;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * AI 3D 任务 VO
 */
@Data
@Schema(description = "AI 3D 任务响应")
public class AI3DTaskVO {

    @Schema(description = "任务 ID")
    private Long id;

    @Schema(description = "输入类型：text/image")
    private String inputType;

    @Schema(description = "输入内容")
    private String inputContent;

    @Schema(description = "生成类型：Normal/Geometry/LowPoly/Sketch")
    private String generateType;

    @Schema(description = "任务状态：pending/processing/completed/failed/timeout")
    private String status;

    @Schema(description = "生成的 3D 模型 URL")
    private String resultUrl;

    @Schema(description = "预览图 URL")
    private String previewUrl;

    @Schema(description = "生成的 3D 模型 URL 数组（JSON）")
    private String resultUrls;

    @Schema(description = "预览图 URL 数组（JSON）")
    private String previewUrls;

    @Schema(description = "错误信息")
    private String errorMessage;

    @Schema(description = "外部 AI 服务任务 ID")
    private String externalTaskId;

    @Schema(description = "已重试次数")
    private Integer retryCount;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "完成时间")
    private LocalDateTime completeTime;
}
