package com.seer.teach.admin.request;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * AI模型任务请求
 *
 * @author System
 * @since 2025-12-11
 */
@Getter
@Setter
@Schema(description = "AI模型任务请求")
public class AdminAiModelTaskReq {

    @Schema(description = "主键ID")
    private Long id;

    @Schema(description = "任务ID（来自大模型平台返回的任务ID）")
    private String taskId;

    @Schema(description = "任务名称")
    private String taskName;

    @Schema(description = "场景配置ID")
    private Long scenarioConfigId;

    private String scenarioCode;

    private String taskParams;

    @Schema(description = "API密钥ID")
    private Long apiKeyId;

    @Schema(description = "模型ID")
    private Long moduleId;

    @Schema(description = "任务类型（文本生成、图像生成等）")
    private String taskType;

    @Schema(description = "任务状态（processing、success、failed、cancelled、interrupted）")
    private String status;

    @Schema(description = "提示词内容")
    private String prompt;

    @Schema(description = "任务执行的宿主机的ip")
    private String ip;

    @Schema(description = "任务创建时间")
    private LocalDateTime taskCreatedTime;

    @Schema(description = "任务完成时间")
    private LocalDateTime taskCompletedTime;

    @Schema(description = "模型输出结果")
    private String output;
}