package com.ruoyi.ai.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
/**
 * 订单管理对象 ai_order
 *
 * @author shi
 * @date 2025-11-13
 */
@Data
@TableName("ai_order")
public class AiOrder extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNum;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** AI类型 */
    @Excel(name = "AI类型")
    private String type;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 生成结果 */
    @Excel(name = "生成结果")
    private String result;

    /** 请求text */
    @Excel(name = "请求text")
    private String text;

    /** 来源 */
    @Excel(name = "来源")
    private String source;

    /** 状态：0-进行中 1-已完成 2-失败（余额退回） */
    @Excel(name = "状态：0-进行中 1-已完成 2-失败", readConverterExp = "余=额退回")
    private Integer status;

    /** 是否置顶：N-否 Y-是 */
    @Excel(name = "是否置顶：N-否 Y-是")
    private String isTop;

    /** 生成模式：text-to-video 或 image-to-video */
    @Excel(name = "生成模式")
    private String mode;

    /** 视频时长（秒） */
    @Excel(name = "视频时长")
    private Integer duration;

    /** 分辨率（如 720p, 1080p） */
    @Excel(name = "分辨率")
    private String resolution;

    /** 宽高比（如 16:9, 9:16） */
    @Excel(name = "宽高比")
    private String ratio;

    /** 首帧图片 */
    private String img1;

    /** 第二张图片 */
    private String img2;

    /**
     * 用户UUID
     */
    @TableField(exist = false)
    private String uuid;


}
