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_message
 *
 * @author ruoyi
 * @date 2024-12-19
 */
@Data
@ExcelIgnoreUnannotated
public class SysOaAiMessageVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 消息ID
     */
    @ExcelProperty(value = "消息ID")
    private Long messageId;

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

    /**
     * 角色(user/assistant)
     */
    @ExcelProperty(value = "角色", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "ai_message_role")
    private String role;

    /**
     * 消息内容
     */
    @ExcelProperty(value = "消息内容")
    private String content;

    /**
     * 展示类型
     */
    @ExcelProperty(value = "展示类型")
    private String renderType;

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

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

    /**
     * 消息顺序
     */
    @ExcelProperty(value = "消息顺序")
    private Integer messageOrder;

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

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

} 