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

    private static final long serialVersionUID = 1L;

    /**
     * 配置ID
     */
    @ExcelProperty(value = "配置ID")
    private Long configId;

    /**
     * 配置名称
     */
    @ExcelProperty(value = "配置名称")
    private String configName;

    /**
     * API密钥
     */
    @ExcelProperty(value = "API密钥")
    private String apiKey;

    /**
     * 基础URL
     */
    @ExcelProperty(value = "基础URL")
    private String baseUrl;

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

    /**
     * 最大重试次数
     */
    @ExcelProperty(value = "最大重试次数")
    private Integer maxRetries;

    /**
     * 温度参数
     */
    @ExcelProperty(value = "温度参数")
    private BigDecimal temperature;

    /**
     * 最大token数
     */
    @ExcelProperty(value = "最大token数")
    private Integer maxTokens;

    /**
     * 状态(0:禁用 1:启用)
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "ai_config_status")
    private Integer status;

    /**
     * 创建时间
     */
    @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;

} 