package com.seer.teach.teacher.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * <p>
 * AI模型任务记录表
 * </p>
 *
 * @author System
 * @since 2025-10-31
 */
@Getter
@Setter
@ToString
@TableName("ai_model_task")
public class AiModelTaskEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 任务ID（来自大模型平台返回的任务ID）
     */
    @TableField("task_id")
    private String taskId;

    /**
     * 场景配置ID
     */
    @TableField("scenario_config_id")
    private Long scenarioConfigId;

    /**
     * API密钥ID
     */
    @TableField("api_key_id")
    private Long apiKeyId;

    /**
     * 模型ID
     */
    @TableField("module_id")
    private Long moduleId;

    /**
     * 任务类型（文本生成、图像生成等）
     */
    @TableField("task_type")
    private String taskType;

    /**
     * 任务状态（processing、success、failed等）
     */
    @TableField("status")
    private String status;

    /**
     * 提示词内容
     */
    @TableField("prompt")
    private String prompt;

    /**
     * 任务创建时间
     */
    @TableField("task_created_time")
    private LocalDateTime taskCreatedTime;

    /**
     * 任务完成时间
     */
    @TableField("task_completed_time")
    private LocalDateTime taskCompletedTime;

    /**
     * 模型输出结果
     */
    @TableField("output")
    private String output;
}