package com.ruoyi.oa.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

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

/**
 * AI对话历史视图对象 sys_oa_ai_conversation
 *
 * @author ruoyi
 * @date 2024-12-19
 */
@Data
@ExcelIgnoreUnannotated
public class SysOaAiConversationVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 对话ID
     */
    @ExcelProperty(value = "对话ID")
    private Long conversationId;

    /**
     * 对话标题
     */
    @ExcelProperty(value = "对话标题")
    private String conversationTitle;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * AI模型名称
     */
    @ExcelProperty(value = "AI模型名称")
    private String modelName;

    /**
     * 对话状态(0:已结束 1:进行中)
     */
    @ExcelProperty(value = "对话状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "ai_conversation_status")
    private Integer status;

    /**
     * 总消耗token数
     */
    @ExcelProperty(value = "总消耗token数")
    private Integer totalTokens;

    /**
     * 总费用
     */
    @ExcelProperty(value = "总费用")
    private BigDecimal totalCost;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 创建者
     */
    @ExcelProperty(value = "创建者")
    private String createBy;

    /**
     * 更新者
     */
    @ExcelProperty(value = "更新者")
    private String updateBy;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

} 